-
Notifications
You must be signed in to change notification settings - Fork 171
/
TODO
99 lines (72 loc) · 2.51 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
This file has a list of functionality not yet implemented or issues that
have to be fixed in libgdiplus.
---- Functionality not implemented
* Image formats
- EXIF. There is libexif
- WMF and EMF. We do not support metafiles. See libwmf.
---- Not implemented functions
* Handle functions
Functions that use or create Win32 handles and are not yet implemented
(except for window and device needed in System.Windows.Forms.)
GdipCreateBitmapFromResource
GdipCreateFontFromDC
GdipCreateFromHWND
* Generic functions
GdipBeginContainer2
GdipBeginContainerI
GdipGetPixelOffsetMode [2]
GdipGetTextContrast [2]
GdipSetPixelOffsetMode [2]
GdipSetTextContrast [2]
GdipTransformPoints
GdipTransformPointsI
* Image handeling
GdipSetImageAttributesThreshold
GdipSetImageAttributesOutputChannelColorProfile
GdipGetImageAttributesAdjustedPalette
GdipSetImageAttributesOutputChannel
GdipDrawImagePointsRect
GdipDrawImagePointsRectI
GdipLoadImageFromStream
GdipSaveImageToStream
GdipSaveAdd
GdipSaveAddImage
* Pens and brushes
GdipSetPenDashCap197819 [2]
GdipGetPenDashCap197819 [2]
GdipSetPenCustomStartCap [3]
GdipGetPenCustomStartCap [3]
GdipSetPenCustomEndCap [3]
GdipGetPenCustomEndCap [3]
* Functions related to paths
GdipAddString [1]
GdipAddStringI [1]
GdipIsOutlineVisiblePathPoint [4]
GdipIsOutlineVisiblePathPointI [4]
GdipIsVisiblePathPoint [4]
GdipIsVisiblePathPointI [4]
GdipWindingModeOutline
GdipWidenPath
GdipWarpPath
Notes
[1] Partially implemented. LayoutRect and StringFormat are ignored.
[2] Function exists (return Ok) but doesn't do anything (visually or not)
[3] Function exists (return Ok) but only display a warning on the console
[4] Partially implemented. GpGraphics is ignored.
---- Cairo limitations
* Maximum of 32bpp
GDI+ supports bitmaps with more than 32bpp.
http://bugzilla.ximian.com/show_bug.cgi?id=80693
* Coordinates limitations
GDI+ supports 32bips of precision (Cairo is limited to 15bits)
http://bugzilla.ximian.com/show_bug.cgi?id=79729
---- Issues
* All the functions that create Cairo resources have to be review to make
sure that we do not over reference the handles. For example, calling
cairo_create and cairo_reference will set the internal cairo reference count
to two. A single cairo_destroy will decrease the internal counter to 1 but
it will not release the resource.
We have to review these calls to make sure that we are releasing propertly
the handles and not leaving them created when their associated object
(GpGraphics in this case) is destroyed.
last updated: January 12th, 2007