]> git.lyx.org Git - features.git/commitdiff
move inset related stuff from src/graphics to src/inset/
authorAndré Pönitz <poenitz@gmx.net>
Tue, 28 May 2002 11:50:04 +0000 (11:50 +0000)
committerAndré Pönitz <poenitz@gmx.net>
Tue, 28 May 2002 11:50:04 +0000 (11:50 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4247 a592a061-630c-0410-9148-cb99ea01b6c8

src/graphics/ChangeLog
src/graphics/GraphicsCache.C
src/graphics/GraphicsCacheItem.C
src/graphics/GraphicsParams.C
src/graphics/GraphicsParams.h
src/insets/ChangeLog
src/insets/insetgraphicsParams.C
src/insets/insetgraphicsParams.h

index f1ccf52968de5a76255016cedbf23b686323710a..23cc7c51c53c7ebfeb5a4275e715f43d0c4f1d62 100644 (file)
@@ -1,3 +1,9 @@
+
+2002-05-28  André Pönitz <poenitz@gmx.net>
+
+       * GraphicsParam.[Ch]:
+         move inset related stuff to inset/insetgraphics
+
 2002-05-24  John Levon  <moz@compsoc.man.ac.uk>
 
        * GraphicsImageXPM.C: ColorHandler moved
index 02b589b861b9cce54396d72fcf6773202a30bcdc..7dde8e13af45d4c5d94a1f9fff8cb7298f81978d 100644 (file)
@@ -55,7 +55,7 @@ void GCache::update(InsetGraphics const & inset, string const & filepath)
        // A subset only of InsetGraphicsParams is needed for display purposes.
        // The GraphicsParams c-tor also interrogates lyxrc to ascertain whether
        // to display or not.
-       GParams params(inset.params(), filepath);
+       GParams params = inset.params().asGParams(filepath);
 
        // Each inset can reference only one file, so check the cache for any
        // graphics files referenced by inset. If the name of this file is
index b829cdeae8b566e73b69dda6018d9cce75a308ff..3a49f26f522d6991381d925db123518937ef7d61 100644 (file)
@@ -631,7 +631,7 @@ struct Params_Changed {
        bool operator()(InsetGraphics const * inset)
        {
                string const path = OnlyPath(p_.filename);
-               return GParams(inset->params(), path) != p_;
+               return inset->params().asGParams(path) != p_;
        }
 
 private:
@@ -669,7 +669,7 @@ ModifiedItemPtr ModifiedItem::changeDisplay()
 
        ModifiedItemPtr new_item(new ModifiedItem(*this));
        new_item->insets = new_insets;
-       *(new_item->p_)  = GParams((*new_insets.begin())->params(), path);
+       *(new_item->p_) = (*new_insets.begin())->params().asGParams(path);
 
        new_item->setPixmap();
        return new_item;
index e2782973d7f8d7c3727663dcac79703fc4f48b8d..37257bdb520a75ae73386ecde416d7da0e90702e 100644 (file)
 #endif
 
 #include "GraphicsParams.h"
-#include "insets/insetgraphicsParams.h"
-#include "lyxrc.h"
-#include "debug.h"
-#include "support/filetools.h"
-#include "support/lstrings.h"
-#include "support/LAssert.h"
+#include "Lsstream.h"
+
 
 namespace grfx {
 
-GParams::GParams(InsetGraphicsParams const & iparams, string const & filepath)
+GParams::GParams()
        : width(0),
          height(0),
          scale(0),
          angle(0)
-{
-       filename = iparams.filename;
-       if (!filepath.empty()) {
-               filename = MakeAbsPath(filename, filepath);
-       }
-
-       if (iparams.clip) {
-               bb = iparams.bb;
-
-               // Get the original Bounding Box from the file
-               string const tmp = readBB_from_PSFile(filename);
-               lyxerr[Debug::GRAPHICS] << "BB_from_File: " << tmp << std::endl;
-               if (!tmp.empty()) {
-                       int const bb_orig_xl = strToInt(token(tmp, ' ', 0));
-                       int const bb_orig_yb = strToInt(token(tmp, ' ', 1));
-
-                       bb.xl -= bb_orig_xl;
-                       bb.xr -= bb_orig_xl;
-                       bb.yb -= bb_orig_yb;
-                       bb.yt -= bb_orig_yb;
-               }
-
-               bb.xl = std::max(0, bb.xl);
-               bb.xr = std::max(0, bb.xr);
-               bb.yb = std::max(0, bb.yb);
-               bb.yt = std::max(0, bb.yt);
-
-               // Paranoia check.
-               int const width  = bb.xr - bb.xl;
-               int const height = bb.yt - bb.yb;
-
-               if (width  < 0 || height < 0) {
-                       bb.xl = 0;
-                       bb.xr = 0;
-                       bb.yb = 0;
-                       bb.yt = 0;
-               }
-       }
-       
-       if (iparams.rotate)
-               angle = int(iparams.rotateAngle);
-
-       if (iparams.display == InsetGraphicsParams::DEFAULT) {
-
-               if (lyxrc.display_graphics == "mono")
-                       display = MONOCHROME;
-               else if (lyxrc.display_graphics == "gray")
-                       display = GRAYSCALE;
-               else if (lyxrc.display_graphics == "color")
-                       display = COLOR;
-               else
-                       display = NONE;
-
-       } else if (iparams.display == InsetGraphicsParams::NONE) {
-               display = NONE;
-
-       } else if (iparams.display == InsetGraphicsParams::MONOCHROME) {
-               display = MONOCHROME;
-
-       } else if (iparams.display == InsetGraphicsParams::GRAYSCALE) {
-               display = GRAYSCALE;
-
-       } else if (iparams.display == InsetGraphicsParams::COLOR) {
-               display = COLOR;
-       }
-
-       // Override the above if we're not using a gui
-       if (!lyxrc.use_gui) {
-               display = NONE;
-       }
-
-       if (iparams.lyxsize_type == InsetGraphicsParams::SCALE) {
-               scale = iparams.lyxscale;
-
-       } else if (iparams.lyxsize_type == InsetGraphicsParams::WH) {
-               if (!iparams.lyxwidth.zero())
-                       width  = iparams.lyxwidth.inPixels(1, 1);
-               if (!iparams.lyxheight.zero())
-                       height = iparams.lyxheight.inPixels(1, 1);
-
-               // inPixels returns a value scaled by lyxrc.zoom.
-               // We want, therefore, to undo this.
-               double const scaling_factor = 100.0 / double(lyxrc.zoom);
-               width  = uint(scaling_factor * width);
-               height = uint(scaling_factor * height);
-       }
-}
+{}
 
 
 bool operator==(GParams const & a, GParams const & b)
index 04080f7d95f50443639bba2fab918c93be96e7ed..3d502f57fc54651643f9ffc7f9044a5345303a2b 100644 (file)
@@ -22,7 +22,6 @@
 #include "LString.h"
 #include "lyxlength.h"
 
-class InsetGraphicsParams;
 
 namespace grfx {
 
@@ -49,7 +48,7 @@ bool operator!=(BoundingBox const &, BoundingBox const &);
 
 struct GParams
 {
-       GParams(InsetGraphicsParams const &, string const &);
+       GParams();
 
        /// How is the image to be displayed on the LyX screen?
        enum DisplayType {
index 529e21d512276ecb5d051587a8b0aa704f19f7bd..83efe33985bab31160ef8027acb40ea173e6584f 100644 (file)
@@ -1,3 +1,8 @@
+2002-05-28  André Pönitz <poenitz@gmx.net>
+
+       * insets/insetgraphicsParams.[Ch]:
+         put in inset related stuff from src/graphic
+
 2002-05-26  John Levon  <moz@compsoc.man.ac.uk>
 
        * inset.C:
index 7268faab523546ee51b3fd9e2456907f953d6317..41c61fdb7851eb9e8a4c8b045e1da5d8246feecd 100644 (file)
@@ -23,6 +23,9 @@
 #include "support/lyxlib.h"
 #include "support/LOstream.h"
 #include "support/LAssert.h"
+#include "support/lstrings.h"
+#include "lyxrc.h"
+#include "debug.h"
 
 
 using std::ostream;
@@ -302,3 +305,100 @@ bool InsetGraphicsParams::Read(LyXLex & lex, string const & token)
        }
        return true;
 }
+
+
+grfx::GParams InsetGraphicsParams::asGParams(string const & filepath) const
+{
+       grfx::GParams pars;
+       pars.width    = 0;
+       pars.height   = 0;
+       pars.scale    = 0;
+       pars.angle    = 0;
+       pars.filename = filename;
+
+       if (!filepath.empty()) {
+               pars.filename = MakeAbsPath(pars.filename, filepath);
+       }
+
+       if (clip) {
+               pars.bb = bb;
+
+               // Get the original Bounding Box from the file
+               string const tmp = readBB_from_PSFile(filename);
+               lyxerr[Debug::GRAPHICS] << "BB_from_File: " << tmp << std::endl;
+               if (!tmp.empty()) {
+                       int const bb_orig_xl = strToInt(token(tmp, ' ', 0));
+                       int const bb_orig_yb = strToInt(token(tmp, ' ', 1));
+
+                       pars.bb.xl -= bb_orig_xl;
+                       pars.bb.xr -= bb_orig_xl;
+                       pars.bb.yb -= bb_orig_yb;
+                       pars.bb.yt -= bb_orig_yb;
+               }
+
+               pars.bb.xl = std::max(0, pars.bb.xl);
+               pars.bb.xr = std::max(0, pars.bb.xr);
+               pars.bb.yb = std::max(0, pars.bb.yb);
+               pars.bb.yt = std::max(0, pars.bb.yt);
+
+               // Paranoia check.
+               int const width  = pars.bb.xr - pars.bb.xl;
+               int const height = pars.bb.yt - pars.bb.yb;
+
+               if (width  < 0 || height < 0) {
+                       pars.bb.xl = 0;
+                       pars.bb.xr = 0;
+                       pars.bb.yb = 0;
+                       pars.bb.yt = 0;
+               }
+       }
+       
+       if (rotate)
+               pars.angle = int(rotateAngle);
+
+       if (display == InsetGraphicsParams::DEFAULT) {
+
+               if (lyxrc.display_graphics == "mono")
+                       pars.display = grfx::GParams::MONOCHROME;
+               else if (lyxrc.display_graphics == "gray")
+                       pars.display = grfx::GParams::GRAYSCALE;
+               else if (lyxrc.display_graphics == "color")
+                       pars.display = grfx::GParams::COLOR;
+               else
+                       pars.display = grfx::GParams::NONE;
+
+       } else if (display == InsetGraphicsParams::NONE) {
+               pars.display = grfx::GParams::NONE;
+
+       } else if (display == InsetGraphicsParams::MONOCHROME) {
+               pars.display = grfx::GParams::MONOCHROME;
+
+       } else if (display == InsetGraphicsParams::GRAYSCALE) {
+               pars.display = grfx::GParams::GRAYSCALE;
+
+       } else if (display == InsetGraphicsParams::COLOR) {
+               pars.display = grfx::GParams::COLOR;
+       }
+
+       // Override the above if we're not using a gui
+       if (!lyxrc.use_gui) {
+               pars.display = grfx::GParams::NONE;
+       }
+
+       if (lyxsize_type == InsetGraphicsParams::SCALE) {
+               pars.scale = lyxscale;
+
+       } else if (lyxsize_type == InsetGraphicsParams::WH) {
+               if (!lyxwidth.zero())
+                       pars.width  = lyxwidth.inPixels(1, 1);
+               if (!lyxheight.zero())
+                       pars.height = lyxheight.inPixels(1, 1);
+
+               // inPixels returns a value scaled by lyxrc.zoom.
+               // We want, therefore, to undo this.
+               double const scaling_factor = 100.0 / double(lyxrc.zoom);
+               pars.width  = uint(scaling_factor * pars.width);
+               pars.height = uint(scaling_factor * pars.height);
+       }
+       return pars;
+}
index 4845e74594de332dc361015cdf7f1a38f40c04d1..aa7dd27869ba2107ca8e17fb363d441d77b09636 100644 (file)
@@ -22,6 +22,9 @@
 #include "buffer.h"
 #include "lyxlex.h"
 
+#include "graphics/GraphicsParams.h"
+
+
 /// This struct holds all the parameters needed by insetGraphics.
 struct InsetGraphicsParams
 {
@@ -91,6 +94,8 @@ struct InsetGraphicsParams
        void Write(std::ostream & os) const;
        /// If the token belongs to our parameters, read it.
        bool Read(LyXLex & lex, string const & token);
+       /// convert 
+       grfx::GParams asGParams(string const & filepath) const;
 
 private:
        /// Initialize the object to a default status.