Evan Stade : gdiplus: Added GdipGetStringFormatTrimming/ GdipSetStringFormatTrimming.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Aug 15 04:34:17 CDT 2007


Module: wine
Branch: master
Commit: 551a606ab247a6a89dc4e1e42c28feb717827990
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=551a606ab247a6a89dc4e1e42c28feb717827990

Author: Evan Stade <estade at gmail.com>
Date:   Tue Aug 14 19:00:40 2007 -0700

gdiplus: Added GdipGetStringFormatTrimming/GdipSetStringFormatTrimming.

---

 dlls/gdiplus/gdiplus.spec      |    4 ++--
 dlls/gdiplus/gdiplus_private.h |    1 +
 dlls/gdiplus/stringformat.c    |   22 ++++++++++++++++++++++
 include/gdiplusenums.h         |   25 +++++++++++++++++++++++++
 include/gdiplusflat.h          |    2 ++
 5 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec
index 5a2bbd2..b762c69 100644
--- a/dlls/gdiplus/gdiplus.spec
+++ b/dlls/gdiplus/gdiplus.spec
@@ -394,7 +394,7 @@
 @ stub GdipGetStringFormatMeasurableCharacterRangeCount
 @ stub GdipGetStringFormatTabStopCount
 @ stub GdipGetStringFormatTabStops
-@ stub GdipGetStringFormatTrimming
+@ stdcall GdipGetStringFormatTrimming(ptr ptr)
 @ stub GdipGetTextContrast
 @ stdcall GdipGetTextRenderingHint(ptr ptr)
 @ stub GdipGetTextureImage
@@ -592,7 +592,7 @@
 @ stub GdipSetStringFormatLineAlign
 @ stub GdipSetStringFormatMeasurableCharacterRanges
 @ stub GdipSetStringFormatTabStops
-@ stub GdipSetStringFormatTrimming
+@ stdcall GdipSetStringFormatTrimming(ptr long)
 @ stub GdipSetTextContrast
 @ stdcall GdipSetTextRenderingHint(ptr long)
 @ stdcall GdipSetTextureTransform(ptr ptr)
diff --git a/dlls/gdiplus/gdiplus_private.h b/dlls/gdiplus/gdiplus_private.h
index d6c9dba..0c74245 100644
--- a/dlls/gdiplus/gdiplus_private.h
+++ b/dlls/gdiplus/gdiplus_private.h
@@ -179,6 +179,7 @@ struct GpStringFormat{
     INT attr;
     LANGID lang;
     StringAlignment align;
+    StringTrimming trimming;
 };
 
 #endif
diff --git a/dlls/gdiplus/stringformat.c b/dlls/gdiplus/stringformat.c
index c8bd3d1..d1e3719 100644
--- a/dlls/gdiplus/stringformat.c
+++ b/dlls/gdiplus/stringformat.c
@@ -55,6 +55,17 @@ GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat *format,
     return Ok;
 }
 
+GpStatus WINGDIPAPI GdipGetStringFormatTrimming(GpStringFormat *format,
+    StringTrimming *trimming)
+{
+    if(!format || !trimming)
+        return InvalidParameter;
+
+    *trimming = format->trimming;
+
+    return Ok;
+}
+
 GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat *format,
     StringAlignment align)
 {
@@ -65,3 +76,14 @@ GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat *format,
 
     return Ok;
 }
+
+GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat *format,
+    StringTrimming trimming)
+{
+    if(!format)
+        return InvalidParameter;
+
+    format->trimming = trimming;
+
+    return Ok;
+}
diff --git a/include/gdiplusenums.h b/include/gdiplusenums.h
index 91e779b..786cf51 100644
--- a/include/gdiplusenums.h
+++ b/include/gdiplusenums.h
@@ -221,6 +221,29 @@ enum StringAlignment
     StringAlignmentFar     = 2
 };
 
+enum StringFormatFlags
+{
+    StringFormatFlagsDirectionRightToLeft  = 0x00000001,
+    StringFormatFlagsDirectionVertical     = 0x00000002,
+    StringFormatFlagsNoFitBlackBox         = 0x00000004,
+    StringFormatFlagsDisplayFormatControl  = 0x00000020,
+    StringFormatFlagsNoFontFallback        = 0x00000400,
+    StringFormatFlagsMeasureTrailingSpaces = 0x00000800,
+    StringFormatFlagsNoWrap                = 0x00001000,
+    StringFormatFlagsLineLimit             = 0x00002000,
+    StringFormatFlagsNoClip                = 0x00004000
+};
+
+enum StringTrimming
+{
+    StringTrimmingNone                 = 0,
+    StringTrimmingCharacter            = 1,
+    StringTrimmingWord                 = 2,
+    StringTrimmingEllipsisCharacter    = 3,
+    StringTrimmingEllipsisWord         = 4,
+    StringTrimmingEllipsisPath         = 5
+};
+
 #ifndef __cplusplus
 
 typedef enum Unit Unit;
@@ -245,6 +268,8 @@ typedef enum EmfType EmfType;
 typedef enum CompositingMode CompositingMode;
 typedef enum TextRenderingHint TextRenderingHint;
 typedef enum StringAlignment StringAlignment;
+typedef enum StringTrimming StringTrimming;
+typedef enum StringFormatFlags StringFormatFlags;
 
 #endif /* end of c typedefs */
 
diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h
index ff1bcb1..b5123b9 100644
--- a/include/gdiplusflat.h
+++ b/include/gdiplusflat.h
@@ -250,7 +250,9 @@ GpStatus WINGDIPAPI GdipGetLogFontW(GpFont*,GpGraphics*,LOGFONTW*);
 
 GpStatus WINGDIPAPI GdipCreateStringFormat(INT,LANGID,GpStringFormat**);
 GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat*,StringAlignment*);
+GpStatus WINGDIPAPI GdipGetStringFormatTrimming(GpStringFormat*,StringTrimming*);
 GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat*,StringAlignment);
+GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat*,StringTrimming);
 
 #ifdef __cplusplus
 }




More information about the wine-cvs mailing list