push ab3cc77eb114d2bd400734a9dccad24563f936a6
[wine/hacks.git] / dlls / gdiplus / stringformat.c
blobe328ffb249bd8d864b6ca3d42163a11b048ad977
1 /*
3 * Copyright (C) 2007 Google (Evan Stade)
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #include <stdarg.h>
22 #include "windef.h"
23 #include "winbase.h"
24 #include "wingdi.h"
25 #include "winnls.h"
27 #include "objbase.h"
29 #include "gdiplus.h"
30 #include "gdiplus_private.h"
32 GpStatus WINGDIPAPI GdipCreateStringFormat(INT attr, LANGID lang,
33 GpStringFormat **format)
35 if(!format)
36 return InvalidParameter;
38 *format = GdipAlloc(sizeof(GpStringFormat));
39 if(!*format) return OutOfMemory;
41 (*format)->attr = attr;
42 (*format)->lang = lang;
43 (*format)->trimming = StringTrimmingCharacter;
45 return Ok;
48 GpStatus WINGDIPAPI GdipDeleteStringFormat(GpStringFormat *format)
50 if(!format)
51 return InvalidParameter;
53 GdipFree(format);
55 return Ok;
58 GpStatus WINGDIPAPI GdipGetStringFormatAlign(GpStringFormat *format,
59 StringAlignment *align)
61 if(!format || !align)
62 return InvalidParameter;
64 *align = format->align;
66 return Ok;
69 GpStatus WINGDIPAPI GdipGetStringFormatHotkeyPrefix(GDIPCONST GpStringFormat
70 *format, INT *hkpx)
72 if(!format || !hkpx)
73 return InvalidParameter;
75 *hkpx = (INT)format->hkprefix;
77 return Ok;
80 GpStatus WINGDIPAPI GdipGetStringFormatLineAlign(GpStringFormat *format,
81 StringAlignment *align)
83 if(!format || !align)
84 return InvalidParameter;
86 *align = format->vertalign;
88 return Ok;
91 GpStatus WINGDIPAPI GdipGetStringFormatTrimming(GpStringFormat *format,
92 StringTrimming *trimming)
94 if(!format || !trimming)
95 return InvalidParameter;
97 *trimming = format->trimming;
99 return Ok;
102 GpStatus WINGDIPAPI GdipSetStringFormatAlign(GpStringFormat *format,
103 StringAlignment align)
105 if(!format)
106 return InvalidParameter;
108 format->align = align;
110 return Ok;
113 GpStatus WINGDIPAPI GdipSetStringFormatHotkeyPrefix(GpStringFormat *format,
114 INT hkpx)
116 if(!format || hkpx < 0 || hkpx > 2)
117 return InvalidParameter;
119 format->hkprefix = (HotkeyPrefix) hkpx;
121 return Ok;
124 GpStatus WINGDIPAPI GdipSetStringFormatLineAlign(GpStringFormat *format,
125 StringAlignment align)
127 if(!format)
128 return InvalidParameter;
130 format->vertalign = align;
132 return Ok;
135 GpStatus WINGDIPAPI GdipSetStringFormatTrimming(GpStringFormat *format,
136 StringTrimming trimming)
138 if(!format)
139 return InvalidParameter;
141 format->trimming = trimming;
143 return Ok;