mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-06 00:10:59 +00:00
Enable InsetExternal to be hit by the mouse once again.
Some small additions to the ExternalTransforms stuff. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8193 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
8fa8cfb4a3
commit
bc045d9320
@ -1,3 +1,10 @@
|
|||||||
|
2003-12-04 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
|
* insetexternal.C (draw): update the xo_, yo_ cache.
|
||||||
|
|
||||||
|
* ExternalTransforms.[Ch] (ResizeData): add a usingScale member function.
|
||||||
|
(RotationDataType): new helper struct wrapping the
|
||||||
|
RotationData::OriginType enum.
|
||||||
|
|
||||||
2003-12-03 André Pönitz <poenitz@gmx.net>
|
2003-12-03 André Pönitz <poenitz@gmx.net>
|
||||||
|
|
||||||
|
@ -45,8 +45,13 @@ void ExtraData::set(string const & id, string const & data)
|
|||||||
|
|
||||||
bool ResizeData::no_resize() const
|
bool ResizeData::no_resize() const
|
||||||
{
|
{
|
||||||
return float_equal(scale, 0.0, 0.05) &&
|
return !usingScale() && width.zero() && height.zero();
|
||||||
width.zero() && height.zero();
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool ResizeData::usingScale() const
|
||||||
|
{
|
||||||
|
return !float_equal(scale, 0.0, 0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -90,15 +95,27 @@ string const ResizeLatexCommand::front_impl() const
|
|||||||
return string();
|
return string();
|
||||||
|
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
if (!float_equal(data.scale, 0.0, 0.05)) {
|
if (data.usingScale()) {
|
||||||
double const scl = data.scale / 100.0;
|
double const scl = data.scale / 100.0;
|
||||||
os << "\\scalebox{" << scl << "}{" << scl << "}{";
|
os << "\\scalebox{" << scl << "}{" << scl << "}{";
|
||||||
} else {
|
} else {
|
||||||
|
string width = "!";
|
||||||
|
string height = "!";
|
||||||
|
if (data.keepAspectRatio) {
|
||||||
|
if (data.width.inPixels(10) > data.height.inPixels(10))
|
||||||
|
width = data.width.asLatexString();
|
||||||
|
else
|
||||||
|
height = data.height.asLatexString();
|
||||||
|
} else {
|
||||||
|
if (!data.width.zero())
|
||||||
|
width = data.width.asLatexString();
|
||||||
|
if (!data.height.zero())
|
||||||
|
height = data.height.asLatexString();
|
||||||
|
}
|
||||||
|
|
||||||
os << "\\resizebox{"
|
os << "\\resizebox{"
|
||||||
<< (data.width.zero() ?
|
<< width << "}{"
|
||||||
"!" : data.width.asLatexString()) << "}{"
|
<< height << "}{";
|
||||||
<< (data.height.zero() ?
|
|
||||||
"!" : data.height.asLatexString()) << "}{";
|
|
||||||
}
|
}
|
||||||
return os.str();
|
return os.str();
|
||||||
}
|
}
|
||||||
@ -210,7 +227,7 @@ string const ResizeLatexOption::option_impl() const
|
|||||||
return string();
|
return string();
|
||||||
|
|
||||||
std::ostringstream os;
|
std::ostringstream os;
|
||||||
if (!float_equal(data.scale, 0.0, 0.05)) {
|
if (data.usingScale()) {
|
||||||
if (!float_equal(data.scale, 100.0, 0.05))
|
if (!float_equal(data.scale, 100.0, 0.05))
|
||||||
os << "scale=" << data.scale / 100.0 << ',';
|
os << "scale=" << data.scale / 100.0 << ',';
|
||||||
return os.str();
|
return os.str();
|
||||||
|
@ -59,6 +59,8 @@ public:
|
|||||||
ResizeData() : scale(0), keepAspectRatio(false) {}
|
ResizeData() : scale(0), keepAspectRatio(false) {}
|
||||||
bool no_resize() const;
|
bool no_resize() const;
|
||||||
|
|
||||||
|
bool usingScale() const;
|
||||||
|
|
||||||
float scale;
|
float scale;
|
||||||
LyXLength width;
|
LyXLength width;
|
||||||
LyXLength height;
|
LyXLength height;
|
||||||
@ -100,6 +102,18 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/** \c RotationDataType is a wrapper for RotationData::OriginType
|
||||||
|
* It can be forward-declared and passed as a function argument without
|
||||||
|
* having to expose this header file.
|
||||||
|
*/
|
||||||
|
class RotationDataType {
|
||||||
|
RotationData::OriginType val_;
|
||||||
|
public:
|
||||||
|
RotationDataType(RotationData::OriginType val) : val_(val) {}
|
||||||
|
operator RotationData::OriginType() const { return val_; }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Transformers generating commands
|
* Transformers generating commands
|
||||||
*/
|
*/
|
||||||
|
@ -482,6 +482,8 @@ void InsetExternal::metrics(MetricsInfo & mi, Dimension & dim) const
|
|||||||
|
|
||||||
void InsetExternal::draw(PainterInfo & pi, int x, int y) const
|
void InsetExternal::draw(PainterInfo & pi, int x, int y) const
|
||||||
{
|
{
|
||||||
|
xo_ = x;
|
||||||
|
yo_ = y;
|
||||||
renderer_->draw(pi, x, y);
|
renderer_->draw(pi, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user