mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +00:00
(Herbert): add a new method, inBP, to LyXLength.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3974 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
b95a56f37a
commit
09f334338a
@ -1,3 +1,8 @@
|
||||
2002-03-28 Herbert Voss <voss@lyx.org>
|
||||
|
||||
* lyxlength.[Ch]: add inBP() to get the right PS-point
|
||||
units (BigPoint). With inPixels we have rounding errors
|
||||
|
||||
2002-04-11 Juergen Vigna <jug@sad.it>
|
||||
|
||||
* text2.C (setCursorFromCoordinates): set iy to the right value.
|
||||
|
@ -238,6 +238,34 @@ int LyXLength::inPixels(int default_width, int default_height) const
|
||||
}
|
||||
|
||||
|
||||
int LyXLength::inBP() const
|
||||
{
|
||||
// return any LyXLength value as a one with
|
||||
// the PostScript point, called bp (big points)
|
||||
double result = 0.0;
|
||||
int val_sign = val_ < 0.0 ? -1 : 1;
|
||||
switch (unit_) {
|
||||
case LyXLength::CM:
|
||||
// 1bp = 0.2835cm
|
||||
result = val_ * 28.346;
|
||||
break;
|
||||
case LyXLength::MM:
|
||||
// 1bp = 0.02835mm
|
||||
result = val_ * 2.8346;
|
||||
break;
|
||||
case LyXLength::IN:
|
||||
// 1pt = 1/72in
|
||||
result = val_ * 72.0;
|
||||
break;
|
||||
default:
|
||||
// no other than bp possible
|
||||
result = val_;
|
||||
break;
|
||||
}
|
||||
return static_cast<int>(result * val_sign + 0.5);
|
||||
}
|
||||
|
||||
|
||||
bool operator==(LyXLength const & l1, LyXLength const & l2)
|
||||
{
|
||||
return l1.value() == l2.value() && l1.unit() == l2.unit();
|
||||
|
@ -67,6 +67,8 @@ public:
|
||||
string const asLatexString() const;
|
||||
/// return the on-screen size of this length
|
||||
int inPixels(int default_width, int default_height) const;
|
||||
/// return the on-screen size of this length of an image
|
||||
int inBP() const;
|
||||
|
||||
/** If "data" is valid, the length represented by it is
|
||||
stored into "result", if that is not 0. */
|
||||
|
Loading…
Reference in New Issue
Block a user