#ifndef EXTERNALTRANSFORMS_H
#define EXTERNALTRANSFORMS_H
-#include "lyxlength.h"
-
#include "graphics/GraphicsParams.h"
-#include <boost/any.hpp>
-#include <boost/function.hpp>
+#include "support/any.h"
+#include "support/Length.h"
+#include "support/unique_ptr.h"
-#include <string>
+#include <functional>
#include <map>
#include <memory>
+#include <string>
-class LyXLex;
namespace lyx {
+
namespace external {
/*
public:
ClipData() : clip(false) {}
- lyx::graphics::BoundingBox bbox;
+ /// The bounding box
+ graphics::BoundingBox bbox;
+ /// clip image
bool clip;
};
class ExtraData {
public:
std::string const get(std::string const & id) const;
- void set(std::string const & id, std::string const & contents);
+ void set(std::string const & id, std::string const & data);
typedef std::map<std::string, std::string>::const_iterator const_iterator;
const_iterator begin() const { return data_.begin(); }
class ResizeData {
public:
- ResizeData() : scale(0), keepAspectRatio(false) {}
+ ResizeData() : scale(), keepAspectRatio(false) {}
bool no_resize() const;
bool usingScale() const;
- float scale;
- LyXLength width;
- LyXLength height;
+ std::string scale;
+ Length width;
+ Length height;
bool keepAspectRatio;
};
BASELINERIGHT
};
- RotationData() : angle_(0), origin_(DEFAULT) {}
+ RotationData() : angle("0"), origin_(DEFAULT) {}
bool no_rotation() const;
- void angle(double a);
- double angle() const { return angle_; }
+ std::string const adjAngle() const;
+ std::string angle;
void origin(OriginType o) { origin_ = o; }
OriginType origin() const { return origin_; }
std::string const originString() const;
private:
- double angle_;
OriginType origin_;
};
*/
class TransformCommand {
public:
- typedef std::auto_ptr<TransformCommand const> ptr_type;
+ typedef unique_ptr<TransformCommand const> ptr_type;
virtual ~TransformCommand() {}
/// The string from the External Template that we seek to replace.
class ResizeCommand : public TransformCommand {
protected:
ResizeData data;
- ResizeCommand(ResizeData const & data_) : data(data_) {}
+ explicit ResizeCommand(ResizeData const & data_) : data(data_) {}
private:
- virtual std::string const front_placeholder_impl() const
+ std::string const front_placeholder_impl() const override
{ return "$$ResizeFront"; }
- virtual std::string const back_placeholder_impl() const
+ std::string const back_placeholder_impl() const override
{ return "$$ResizeBack"; }
};
{ return ptr_type(new ResizeLatexCommand(data)); }
private:
- ResizeLatexCommand(ResizeData const & data_)
+ explicit ResizeLatexCommand(ResizeData const & data_)
: ResizeCommand(data_) {}
- virtual std::string const front_impl() const;
- virtual std::string const back_impl() const;
+ std::string const front_impl() const override;
+ std::string const back_impl() const override;
};
class RotationCommand : public TransformCommand {
protected:
RotationData data;
- RotationCommand(RotationData const & data_) : data(data_) {}
+ explicit RotationCommand(RotationData const & data_) : data(data_) {}
private:
- virtual std::string const front_placeholder_impl() const
+ std::string const front_placeholder_impl() const override
{ return "$$RotateFront"; }
- virtual std::string const back_placeholder_impl() const
+ std::string const back_placeholder_impl() const override
{ return "$$RotateBack"; }
};
{ return ptr_type(new RotationLatexCommand(data)); }
private:
- RotationLatexCommand(RotationData const & data_)
+ explicit RotationLatexCommand(RotationData const & data_)
: RotationCommand(data_) {}
- virtual std::string const front_impl() const;
- virtual std::string const back_impl() const;
+ std::string const front_impl() const override;
+ std::string const back_impl() const override;
};
*/
class TransformOption {
public:
- typedef std::auto_ptr<TransformOption const> ptr_type;
+ typedef unique_ptr<TransformOption const> ptr_type;
virtual ~TransformOption() {}
/// The string from the External Template that we seek to replace.
class ClipOption : public TransformOption {
protected:
ClipData data;
- ClipOption(ClipData const & data_) : data(data_) {}
+ explicit ClipOption(ClipData const & data_) : data(data_) {}
private:
- virtual std::string const placeholder_impl() const
+ std::string const placeholder_impl() const override
{ return "$$Clip"; }
};
{ return ptr_type(new ClipLatexOption(data)); }
private:
- ClipLatexOption(ClipData const & data_)
+ explicit ClipLatexOption(ClipData const & data_)
: ClipOption(data_) {}
- virtual std::string const option_impl() const;
+ std::string const option_impl() const override;
};
{ return ptr_type(new ExtraOption(data)); }
private:
- ExtraOption(std::string const & data_) : data(data_) {}
+ explicit ExtraOption(std::string const & data_) : data(data_) {}
- virtual std::string const placeholder_impl() const
+ std::string const placeholder_impl() const override
{ return "$$Extra"; }
- virtual std::string const option_impl() const
+ std::string const option_impl() const override
{ return data; }
std::string data;
};
class ResizeOption : public TransformOption {
protected:
ResizeData data;
- ResizeOption(ResizeData const & data_) : data(data_) {}
+ explicit ResizeOption(ResizeData const & data_) : data(data_) {}
private:
- virtual std::string const placeholder_impl() const
+ std::string const placeholder_impl() const override
{ return "$$Resize"; }
};
{ return ptr_type(new ResizeLatexOption(data)); }
private:
- ResizeLatexOption(ResizeData const & data_)
+ explicit ResizeLatexOption(ResizeData const & data_)
: ResizeOption(data_) {}
- virtual std::string const option_impl() const;
+ std::string const option_impl() const override;
};
class RotationOption : public TransformOption {
protected:
RotationData data;
- RotationOption(RotationData const & data_) : data(data_) {}
+ explicit RotationOption(RotationData const & data_) : data(data_) {}
private:
- virtual std::string const placeholder_impl() const
+ std::string const placeholder_impl() const override
{ return "$$Rotate"; }
};
{ return ptr_type(new RotationLatexOption(data)); }
private:
- RotationLatexOption(RotationData const & data_)
+ explicit RotationLatexOption(RotationData const & data_)
: RotationOption(data_) {}
- virtual std::string const option_impl() const;
+ std::string const option_impl() const override;
};
*/
std::string const sanitizeLatexOption(std::string const & input);
std::string const sanitizeDocBookOption(std::string const & input);
-std::string const sanitizeLinuxDocOption(std::string const & input);
enum TransformID {
+ None = -1,
Rotate,
Resize,
Clip,
};
-typedef boost::function<TransformOption::ptr_type(ClipData)>
+typedef std::function<TransformOption::ptr_type(ClipData)>
ClipOptionFactory;
-typedef boost::function<TransformOption::ptr_type(std::string)>
+typedef std::function<TransformOption::ptr_type(std::string)>
ExtraOptionFactory;
-typedef boost::function<TransformOption::ptr_type(ResizeData)>
+typedef std::function<TransformOption::ptr_type(ResizeData)>
ResizeOptionFactory;
-typedef boost::function<TransformOption::ptr_type(RotationData)>
+typedef std::function<TransformOption::ptr_type(RotationData)>
RotationOptionFactory;
-typedef boost::function<TransformCommand::ptr_type(ResizeData)>
+typedef std::function<TransformCommand::ptr_type(ResizeData)>
ResizeCommandFactory;
-typedef boost::function<TransformCommand::ptr_type(RotationData)>
+typedef std::function<TransformCommand::ptr_type(RotationData)>
RotationCommandFactory;
-struct TransformStore
+class TransformStore
{
- TransformStore() {}
+public:
+ TransformStore() : id(Rotate) {}
/** Stores \c factory and a reminder of what \c data this \c factory
* operates on.
*/
template <typename Factory>
TransformStore(TransformID id_, Factory const & factory)
- : id(id_), any_factory(boost::any(factory)) {}
+ : id(id_), any_factory(any(factory)) {}
typedef TransformCommand::ptr_type ComPtr;
typedef TransformOption::ptr_type OptPtr;
private:
TransformID id;
- boost::any any_factory;
+ any any_factory;
};
} // namespace external