Commit Graph

14 Commits

Author SHA1 Message Date
Carsten Driesner
b7f5f44df6 removetooltypes01: Exchange misleading type sal_uIntPtr with sal_uLong 2011-01-12 15:07:10 +01:00
Xiaofei Zhang
94ff531ca5 removetooltypes: #i112600# some more changes in vcl and tools, reverted config strings in l10ntools and rsc 2010-09-29 15:46:40 +08:00
Vladimir Glazunov
f20bccf295 CWS-TOOLING: integrate CWS changefileheader2 2010-02-17 10:32:35 +01:00
Jens-Heiner Rechtien
8764506704 changefileheader2: #i109125#: change source file copyright notice from Sun Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision) 2010-02-12 15:01:35 +01:00
Frank Schönheit
7bda1112bb unix line ends 2009-10-27 12:24:12 +00:00
Frank Schönheit
5742e4ccc1 #b6875455# for the target device, always use the ref-device MapUnit during drawing, to have less rounding errors in case the ref device does not use TWIP. Also, implement filling the MetricVector 2009-09-25 12:01:08 +00:00
Frank Schönheit
296f87ef1f #b6875455# use the RTL-ness of the control we work for to determine the TextLayoutMode of the reference/target device 2009-09-25 10:45:37 +00:00
Frank Schönheit
0775a523ff #b6875455#
allow OutputDevice::DrawText to "decompose" the MetaTextRectAction. That is, if the given ITextLayout
says that "decomposition" should be used, then do not add a MetaTextRectAction, but delegate creation/adding
of MetaActions to ImplDrawText.
Effectively, this means that if a Control is painted to a virtual device with output disabled, the proper
meta actions - those for the DrawTextArray - are generated, instead of just one big MetaTextRectAction,
which doesn't know anything about the reference device.
2009-09-21 13:43:11 +00:00
Frank Schönheit
39d12306a5 #b6875455# always use TWIP as target device map unit during drawing text, this saves us some rounding errors 2009-09-21 10:58:44 +00:00
Frank Schönheit
105e04d56f DrawText( Rect, ...): properly calculate the to-be-returned text rect even in edge cases ... 2009-09-21 10:31:11 +00:00
Frank Schönheit
c98633656a #b6875455#
- introduced (static) ImplGetEllipsesString, taking an OutputDevice and an ITextLayout
- introduced ITextLayout::GetTextBreak
=> with this change, all text-related operations in OutputDevice::ImplDrawText and
OutputDevice::ImplGetTextLines should be routed through the ITextLayout interface
2009-09-18 12:59:28 +00:00
Frank Schönheit
f20d782ce0 #b6875455#
- made ImplDrawText and ImplGetTextLines static
  This way, we find all places where both methods access the target device (which is now explicit
  instead of implicit), and can make sure that everything is routed through the ITextLayout interface,
  if necessary.
- also, made both methods take ITextLayout& instead of a ITextLayout*
- added a default implementation for ITextLayout, which simply delegates all calls to a target device,
  without any magic
- added GetCaretPositions to the ITextLayout interface, since this clearly is controlled by the text
  layout. Implement the new method for both DefaultTextLayout and ReferenceDeviceTextLayout
- let the ReferenceDeviceTextLayout calculate more precise, when zooming/unzooming geometry
  data
- let the ReferenceDeviceTextLayout do less actions on the reference device - pushing and popping the
  Font is necessary only once, not for every DrawText(Point) action
2009-09-18 10:39:28 +00:00
Frank Schönheit
79cad7d02a consolidate DrawText and GetText - we do need versions with and without ITextLayout parameter 2009-09-17 21:35:29 +00:00
Frank Schönheit
f3456e8a2e #b6875455#
refactor the Control's "draw with reference device" functionality
In particular, use the existing DrawText/ImplGetTextLines methods, but provide
them with an optional ITextLayout interface, which replaces the usage of GetTextWidth and DrawText( Point, ... )
This way, the ref-device-rendering benefits from the existing implementations in DrawText( Rectangle, ... ),
in particular, it now respects all kind of TEXT_DRAW_ flags, i.e. alignment, word breaks, multi line text,
disabled drawing, etc.
2009-09-17 21:26:57 +00:00