X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FExternalTransforms.h;h=2311ac2f66c4675c96f03f72cc1b2fe466a68959;hb=f24bb4a91980a17c00c12ec0bbb457e0f182215f;hp=f5ea527a7ca9bc205be7a55492caa49fdb8b32ba;hpb=bc045d9320859d700c50c9cd4498d147c60cfc30;p=lyx.git diff --git a/src/insets/ExternalTransforms.h b/src/insets/ExternalTransforms.h index f5ea527a7c..2311ac2f66 100644 --- a/src/insets/ExternalTransforms.h +++ b/src/insets/ExternalTransforms.h @@ -12,20 +12,20 @@ #ifndef EXTERNALTRANSFORMS_H #define EXTERNALTRANSFORMS_H -#include "lyxlength.h" - #include "graphics/GraphicsParams.h" -#include -#include +#include "support/any.h" +#include "support/Length.h" +#include "support/unique_ptr.h" -#include +#include #include #include +#include -class LyXLex; namespace lyx { + namespace external { /* @@ -35,7 +35,9 @@ class ClipData { public: ClipData() : clip(false) {} - lyx::graphics::BoundingBox bbox; + /// The bounding box + graphics::BoundingBox bbox; + /// clip image bool clip; }; @@ -43,7 +45,7 @@ public: 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::const_iterator const_iterator; const_iterator begin() const { return data_.begin(); } @@ -56,14 +58,14 @@ private: 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; }; @@ -84,11 +86,11 @@ public: 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_; } @@ -97,7 +99,6 @@ public: std::string const originString() const; private: - double angle_; OriginType origin_; }; @@ -119,7 +120,7 @@ public: */ class TransformCommand { public: - typedef std::auto_ptr ptr_type; + typedef unique_ptr ptr_type; virtual ~TransformCommand() {} /// The string from the External Template that we seek to replace. @@ -144,12 +145,12 @@ private: 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"; } }; @@ -160,22 +161,22 @@ public: { 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"; } }; @@ -186,10 +187,10 @@ public: { 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; }; @@ -198,7 +199,7 @@ private: */ class TransformOption { public: - typedef std::auto_ptr ptr_type; + typedef unique_ptr ptr_type; virtual ~TransformOption() {} /// The string from the External Template that we seek to replace. @@ -216,10 +217,10 @@ private: 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"; } }; @@ -230,9 +231,9 @@ public: { 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; }; @@ -242,11 +243,11 @@ public: { 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; }; @@ -255,10 +256,10 @@ private: 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"; } }; @@ -269,19 +270,19 @@ public: { 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"; } }; @@ -292,9 +293,9 @@ public: { 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; }; @@ -303,10 +304,10 @@ private: */ 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, @@ -314,30 +315,31 @@ enum TransformID { }; -typedef boost::function1 +typedef std::function ClipOptionFactory; -typedef boost::function1 +typedef std::function ExtraOptionFactory; -typedef boost::function1 +typedef std::function ResizeOptionFactory; -typedef boost::function1 +typedef std::function RotationOptionFactory; -typedef boost::function1 +typedef std::function ResizeCommandFactory; -typedef boost::function1 +typedef std::function 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 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; @@ -351,7 +353,7 @@ struct TransformStore private: TransformID id; - boost::any any_factory; + any any_factory; }; } // namespace external