]> git.lyx.org Git - lyx.git/blobdiff - src/insets/Inset.h
Properly communicate forced encodings
[lyx.git] / src / insets / Inset.h
index 578a7f4d5a1a9541a37a2c40e8b928fd2f6861a7..ecd171dc45de302844373c860c378171d198f662 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "support/strfwd.h"
 #include "support/types.h"
+#include "support/FileNameList.h"
 
 #include <climits>
 
@@ -38,11 +39,13 @@ class Cursor;
 class CursorSlice;
 class Dimension;
 class DocIterator;
+class Encoding;
 class FuncRequest;
 class FuncStatus;
 class InsetArgument;
 class InsetCollapsible;
 class InsetCommand;
+class InsetGraphics;
 class InsetIterator;
 class InsetLayout;
 class InsetList;
@@ -157,6 +160,10 @@ public:
        virtual InsetCommand const * asInsetCommand() const { return 0; }
        /// is this inset based on the InsetArgument class?
        virtual InsetArgument const * asInsetArgument() const { return nullptr; }
+       /// is this inset based on the InsetGraphics class?
+       virtual InsetGraphics * asInsetGraphics() { return 0; }
+       /// is this inset based on the InsetGraphics class?
+       virtual InsetGraphics const * asInsetGraphics() const { return 0; }
 
        /// the real dispatcher
        void dispatch(Cursor & cur, FuncRequest & cmd);
@@ -209,9 +216,7 @@ public:
        virtual bool showInsetDialog(BufferView *) const;
 
        /// draw two angular markers
-       void drawMarkers(PainterInfo & pi, int x, int y) const;
-       /// draw four angular markers
-       void drawMarkers2(PainterInfo & pi, int x, int y) const;
+       virtual void drawMarkers(PainterInfo & pi, int x, int y) const;
        /// add space for markers
        void metricsMarkers(Dimension & dim, int framesize = 1) const;
        /// add space for markers
@@ -418,6 +423,10 @@ public:
        /// if this inset has paragraphs should they be forced to use a
        /// local font language switch?
        virtual bool forceLocalFontSwitch() const { return false; }
+       /// Does the inset force a specific encoding?
+       virtual Encoding const * forcedEncoding(Encoding const *, Encoding const *) const
+       { return 0; }
+
 
        /// Is the content of this inset part of the output document?
        virtual bool producesOutput() const { return true; }
@@ -529,7 +538,7 @@ public:
                              UpdateType /* utype*/,
                              TocBackend & /* tocbackend */) const {}
        /// Collect BibTeX information
-       virtual void collectBibKeys(InsetIterator const &) const {}
+       virtual void collectBibKeys(InsetIterator const &, support::FileNameList &) const {}
        /// Update the counters of this inset and of its contents.
        /// The boolean indicates whether we are preparing for output, e.g.,
        /// of XHTML.