From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/gdipluscolor.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/gdipluscolor.h b/include/gdipluscolor.h index 39b7cb6debd..46acc51deed 100644 --- a/include/gdipluscolor.h +++ b/include/gdipluscolor.h @@ -35,6 +35,11 @@ class Color { protected: ARGB Argb; + +public: + ARGB GetValue() const { return Argb; } + + void SetValue(ARGB argb) { Argb = argb; } };
#else /* end of c++ typedefs */
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/gdiplus.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/gdiplus.h b/include/gdiplus.h index e85343b7c17..b07e2beaaed 100644 --- a/include/gdiplus.h +++ b/include/gdiplus.h @@ -32,12 +32,12 @@ namespace Gdiplus #include "gdiplustypes.h" #include "gdiplusinit.h" #include "gdipluspixelformats.h" +#include "gdipluscolor.h" #include "gdiplusmetaheader.h" #include "gdiplusimaging.h" -#include "gdipluscolor.h" #include "gdipluscolormatrix.h" -#include "gdiplusgpstubs.h" #include "gdipluseffects.h" +#include "gdiplusgpstubs.h"
namespace DllExports {
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/Makefile.in | 1 + include/gdiplus.h | 1 + include/gdiplusbase.h | 49 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 include/gdiplusbase.h
diff --git a/include/Makefile.in b/include/Makefile.in index 4f6a7084366..5938a0b05ba 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -334,6 +334,7 @@ SOURCES = \ gameux.idl \ gamingtcui.h \ gdiplus.h \ + gdiplusbase.h \ gdipluscolor.h \ gdipluscolormatrix.h \ gdipluseffects.h \ diff --git a/include/gdiplus.h b/include/gdiplus.h index b07e2beaaed..5f38ad0e648 100644 --- a/include/gdiplus.h +++ b/include/gdiplus.h @@ -28,6 +28,7 @@ namespace Gdiplus #include "gdiplusmem.h" };
+#include "gdiplusbase.h" #include "gdiplusenums.h" #include "gdiplustypes.h" #include "gdiplusinit.h" diff --git a/include/gdiplusbase.h b/include/gdiplusbase.h new file mode 100644 index 00000000000..5e13c41421a --- /dev/null +++ b/include/gdiplusbase.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2024 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#ifndef _GDIPLUSBASE_H +#define _GDIPLUSBASE_H + +#ifdef __cplusplus + +class GdiplusBase +{ +public: + void (operator delete)(void *p) + { + DllExports::GdipFree(p); + } + + void* (operator new)(size_t size) + { + return DllExports::GdipAlloc(size); + } + + void (operator delete[])(void* p) + { + DllExports::GdipFree(p); + } + + void* (operator new[])(size_t size) + { + return DllExports::GdipAlloc(size); + } +}; + +#endif + +#endif