*
* \author Angus Leeming
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-
#include "xformsImage.h"
-#include "graphics/GraphicsParams.h"
#include "Color.h"
-#include "format.h"
+
#include "debug.h"
-#include "support/LAssert.h"
+#include "format.h"
+#include "LColor.h"
+
+#include "graphics/GraphicsParams.h"
+
+#include "support/lstrings.h"
#include "support/lyxfunctional.h" // compare_memfun
+#include "support/lyxlib.h"
#include "lyx_forms.h"
#include <boost/tuple/tuple.hpp>
+
+using lyx::support::float_equal;
+using lyx::support::prefixIs;
+using lyx::support::rtrim;
+
using std::find_if;
+using std::string;
+
namespace {
} // namespace anon
-namespace grfx {
+namespace lyx {
+namespace graphics {
/// Access to this class is through this static method.
Image::ImagePtr xformsImage::newImage()
}
-Image * xformsImage::clone() const
+Pixmap xformsImage::getPixmap() const
+{
+ if (!pixmap_status_ == PIXMAP_SUCCESS)
+ return 0;
+ return pixmap_;
+}
+
+
+Image * xformsImage::clone_impl() const
{
return new xformsImage(*this);
}
-unsigned int xformsImage::getWidth() const
+unsigned int xformsImage::getWidth_impl() const
{
if (!image_)
return 0;
}
-unsigned int xformsImage::getHeight() const
+unsigned int xformsImage::getHeight_impl() const
{
if (!image_)
return 0;
}
-bool xformsImage::isDrawable() const
+bool xformsImage::isDrawable_impl() const
{
return pixmap_;
}
-Pixmap xformsImage::getPixmap() const
-{
- if (!pixmap_status_ == PIXMAP_SUCCESS)
- return 0;
- return pixmap_;
-}
-
-
-void xformsImage::load(string const & filename)
+void xformsImage::load_impl(string const & filename)
{
if (image_) {
lyxerr[Debug::GRAPHICS]
}
-bool xformsImage::setPixmap(Params const & params)
+bool xformsImage::setPixmap_impl(Params const & params)
{
if (!image_ || params.display == NoDisplay)
return false;
}
-void xformsImage::clip(Params const & params)
+void xformsImage::clip_impl(Params const & params)
{
if (!image_)
return;
}
-void xformsImage::rotate(Params const & params)
+void xformsImage::rotate_impl(Params const & params)
{
if (!image_)
return ;
- if (lyx::float_equal(params.angle, 0.0, 0.1))
+ if (float_equal(params.angle, 0.0, 0.1))
// No rotation is necessary.
return;
// Work around xforms bug when params.angle == 270
// the 'InternalError: bad special angle' error.
// This bug fix is not needed in xforms 1.0 and greater.
- if (lyx::float_equal(params.angle, 270.0, 0.1)) {
+ if (float_equal(params.angle, 270.0, 0.1)) {
flimage_rotate(image_, 900, FLIMAGE_SUBPIXEL);
flimage_rotate(image_, 1800, FLIMAGE_SUBPIXEL);
} else {
}
-void xformsImage::scale(Params const & params)
+void xformsImage::scale_impl(Params const & params)
{
if (!image_)
return;
finishedLoading(false);
}
-} // namespace grfx
+} // namespace graphics
+} // namespace lyx
namespace {
int status_report(FL_IMAGE * ob, const char *s)
{
- lyx::Assert(ob && ob->u_vdata);
+ BOOST_ASSERT(ob && ob->u_vdata);
string const str = s ? rtrim(s) : string();
if (str.empty())
lyxerr[Debug::GRAPHICS]
<< "xforms image loader. Status: " << str << std::endl;
- grfx::xformsImage * ptr =
- static_cast<grfx::xformsImage *>(ob->u_vdata);
+ lyx::graphics::xformsImage * ptr =
+ static_cast<lyx::graphics::xformsImage *>(ob->u_vdata);
ptr->statusCB(str);
return 0;
static void error_report(FL_IMAGE * ob, const char *s)
{
- lyx::Assert(ob && ob->u_vdata);
+ BOOST_ASSERT(ob && ob->u_vdata);
string const str = s ? rtrim(s) : string();
if (str.empty())
lyxerr[Debug::GRAPHICS]
<< "xforms image loader. Error: " << str << std::endl;
- grfx::xformsImage * ptr =
- static_cast<grfx::xformsImage *>(ob->u_vdata);
+ lyx::graphics::xformsImage * ptr =
+ static_cast<lyx::graphics::xformsImage *>(ob->u_vdata);
ptr->errorCB(str);
}