Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: mono-1-1-16-1
Fetching contributors…

Cannot retrieve contributors at this time

file 94 lines (72 sloc) 2.598 kb
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
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.
- ICON. Some icon functionality is done at SD level.

---- 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.)

GdipCreateBitmapFromHICON
GdipCreateHICONFromBitmap
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.

---- 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.

* There are internal libgdiplus memory leaks. At general.c there is a little
DEBUG_MEMLEAKS define that enables an internal system to track down these
issues. Leave it always on and try to fix the leaks to you detect.

Jordi
19/09/2005
Something went wrong with that request. Please try again.