Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00bdfbc5fc | ||
|
|
ae0544c636 | ||
|
|
fc197a38cc | ||
|
|
5e59db1554 | ||
|
|
ce0c94b7fd | ||
|
|
c93c0546bf | ||
|
|
b29f114a44 | ||
|
|
56e946e7c1 | ||
|
|
a9a505a5ce | ||
|
|
aa85263c0e | ||
|
|
6d37b26673 | ||
|
|
9ac354e0e0 | ||
|
|
8c6b326d2e | ||
|
|
1eaa240691 | ||
|
|
fec6b83dc3 | ||
|
|
dd431cda86 | ||
|
|
f5f520526c | ||
|
|
3957342516 | ||
|
|
ddc93bd944 | ||
|
|
e7d511d391 | ||
|
|
6cf7c942f6 | ||
|
|
67834690d0 | ||
|
|
e68a26ea72 | ||
|
|
ab799e780b | ||
|
|
2001a3561d | ||
|
|
08b553b726 | ||
|
|
95a9cf4215 | ||
|
|
bbf2966369 | ||
|
|
a3c11d0f91 | ||
|
|
d89f6e42ee | ||
|
|
4e121c08c3 | ||
|
|
7d02c7953f | ||
|
|
b468106195 | ||
|
|
29cf26806f | ||
|
|
830cea11a2 | ||
|
|
4890457372 | ||
|
|
d937574e10 | ||
|
|
be039e643a | ||
|
|
67dcaca7a3 | ||
|
|
470c66a313 | ||
|
|
a7975c6444 | ||
|
|
610584730e | ||
|
|
7869722949 |
17
autogen.sh
17
autogen.sh
@@ -14,7 +14,10 @@ DIE=0
|
||||
|
||||
have_libtool=false
|
||||
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
|
||||
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
|
||||
libtool_version=`libtoolize --version |
|
||||
head -1 |
|
||||
sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \
|
||||
-e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
|
||||
case $libtool_version in
|
||||
1.4*|1.5*|2.2*)
|
||||
have_libtool=true
|
||||
@@ -45,16 +48,24 @@ fi
|
||||
DIE=1
|
||||
}
|
||||
|
||||
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
|
||||
if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then
|
||||
AUTOMAKE=automake-1.11
|
||||
ACLOCAL=aclocal-1.11
|
||||
else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then
|
||||
AUTOMAKE=automake-1.10
|
||||
ACLOCAL=aclocal-1.10
|
||||
else if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
|
||||
AUTOMAKE=automake-1.7
|
||||
ACLOCAL=aclocal-1.7
|
||||
else
|
||||
echo
|
||||
echo "You must have automake 1.7.x installed to compile $PROJECT."
|
||||
echo "You must have automake 1.7.x, 1,10.x or 1.11.x installed to compile $PROJECT."
|
||||
echo "Install the appropriate package for your distribution,"
|
||||
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
|
||||
DIE=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$DIE" -eq 1; then
|
||||
exit 1
|
||||
|
||||
@@ -269,7 +269,11 @@
|
||||
/* #undef USE_MEDIALIB25 */
|
||||
|
||||
/* Define to 1 if XXM is available and should be used */
|
||||
#ifndef _MSC_VER
|
||||
#define USE_MMX 1
|
||||
#else
|
||||
#undef USE_MMX
|
||||
#endif
|
||||
|
||||
/* Define to 1 if no XInput should be used */
|
||||
/* #undef XINPUT_NONE */
|
||||
|
||||
@@ -12,8 +12,8 @@ AC_PREREQ(2.54)
|
||||
|
||||
m4_define([gtk_major_version], [2])
|
||||
m4_define([gtk_minor_version], [16])
|
||||
m4_define([gtk_micro_version], [6])
|
||||
m4_define([gtk_interface_age], [6])
|
||||
m4_define([gtk_micro_version], [7])
|
||||
m4_define([gtk_interface_age], [7])
|
||||
m4_define([gtk_binary_age],
|
||||
[m4_eval(100 * gtk_minor_version + gtk_micro_version)])
|
||||
m4_define([gtk_version],
|
||||
@@ -124,6 +124,7 @@ AC_CANONICAL_HOST
|
||||
MATH_LIB=-lm
|
||||
AC_MSG_CHECKING([for native Win32])
|
||||
LIB_EXE_MACHINE_FLAG=X86
|
||||
EXE_MANIFEST_ARCHITECTURE=X86
|
||||
case "$host" in
|
||||
*-*-mingw*)
|
||||
os_win32=yes
|
||||
@@ -132,6 +133,7 @@ case "$host" in
|
||||
case "$host" in
|
||||
x86_64-*-*)
|
||||
LIB_EXE_MACHINE_FLAG=X64
|
||||
EXE_MANIFEST_ARCHITECTURE=AMD64
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@@ -142,6 +144,7 @@ esac
|
||||
AC_MSG_RESULT([$os_win32])
|
||||
|
||||
AC_SUBST(LIB_EXE_MACHINE_FLAG)
|
||||
AC_SUBST(EXE_MANIFEST_ARCHITECTURE)
|
||||
|
||||
case $host in
|
||||
*-*-linux*)
|
||||
|
||||
@@ -195,6 +195,15 @@ libpixbufloader_jasper_la_LIBADD = $(LIBJASPER) $(module_libs)
|
||||
|
||||
if BUILD_GDIPLUS_LOADERS
|
||||
|
||||
# MinGW doesn't come with any import library for gdiplus.dll, so
|
||||
# create a partial one that's enough for our use.
|
||||
|
||||
libgdiplus = libgdiplus.dll.a
|
||||
gdiplus_ldflag = -Wl,$(libgdiplus)
|
||||
|
||||
libgdiplus.dll.a: gdiplus.def
|
||||
$(DLLTOOL) --kill-at --dllname gdiplus.dll --input-def gdiplus.def --output-lib $@
|
||||
|
||||
if INCLUDE_GDIPLUS
|
||||
|
||||
# When building the GDI+ loader statically, we put the "common" objects
|
||||
@@ -250,7 +259,7 @@ GDIPLUS_LIBS = \
|
||||
libpixbufloader-gdip-jpeg.la \
|
||||
libpixbufloader-gdip-tiff.la
|
||||
|
||||
libpixbufloader_gdip_ico_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_ico_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_ico_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -261,7 +270,7 @@ libpixbufloader_gdip_ico_la_SOURCES = \
|
||||
io-gdip-ico.c
|
||||
libpixbufloader_gdip_ico_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_wmf_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_wmf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_wmf_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -272,7 +281,7 @@ libpixbufloader_gdip_wmf_la_SOURCES = \
|
||||
io-gdip-wmf.c
|
||||
libpixbufloader_gdip_wmf_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_emf_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_emf_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_emf_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -283,7 +292,7 @@ libpixbufloader_gdip_emf_la_SOURCES = \
|
||||
io-gdip-emf.c
|
||||
libpixbufloader_gdip_emf_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_bmp_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_bmp_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_bmp_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -294,7 +303,7 @@ libpixbufloader_gdip_bmp_la_SOURCES = \
|
||||
io-gdip-bmp.c
|
||||
libpixbufloader_gdip_bmp_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_gif_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_gif_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_gif_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -305,7 +314,7 @@ libpixbufloader_gdip_gif_la_SOURCES = \
|
||||
io-gdip-gif.c
|
||||
libpixbufloader_gdip_gif_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_jpeg_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_jpeg_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_jpeg_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -327,7 +336,7 @@ libpixbufloader_gdip_png_la_SOURCES = \
|
||||
io-gdip-png.c
|
||||
libpixbufloader_gdip_png_la_LIBADD = $(module_libs) $(libole32)
|
||||
|
||||
libpixbufloader_gdip_tiff_la_LDFLAGS = -avoid-version -module -no-undefined
|
||||
libpixbufloader_gdip_tiff_la_LDFLAGS = -avoid-version -module -no-undefined $(gdiplus_ldflag)
|
||||
libpixbufloader_gdip_tiff_la_SOURCES = \
|
||||
io-gdip-native.h \
|
||||
io-gdip-propertytags.h \
|
||||
@@ -552,11 +561,12 @@ libgdk_pixbuf_2_0_la_LDFLAGS = \
|
||||
-version-info $(LT_VERSION_INFO) \
|
||||
$(LIBTOOL_EXPORT_OPTIONS) \
|
||||
$(no_undefined) \
|
||||
$(gdk_pixbuf_symbols)
|
||||
$(gdk_pixbuf_symbols) \
|
||||
$(gdiplus_ldflag)
|
||||
|
||||
|
||||
libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS) $(libole32)
|
||||
libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res)
|
||||
libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res) $(libgdiplus)
|
||||
|
||||
gdk_pixbuf_headers = \
|
||||
gdk-pixbuf.h \
|
||||
@@ -668,7 +678,8 @@ EXTRA_DIST += \
|
||||
gdk-pixbuf-marshal.list \
|
||||
gdk-pixbuf-enum-types.c.template \
|
||||
gdk-pixbuf-enum-types.h.template \
|
||||
gen-color-table.pl
|
||||
gen-color-table.pl \
|
||||
gdiplus.def
|
||||
|
||||
if CROSS_COMPILING
|
||||
RUN_QUERY_LOADER_TEST=false
|
||||
|
||||
26
gdk-pixbuf/gdiplus.def
Normal file
26
gdk-pixbuf/gdiplus.def
Normal file
@@ -0,0 +1,26 @@
|
||||
EXPORTS
|
||||
GdiplusStartup@12
|
||||
GdipCreateBitmapFromStream@8
|
||||
GdipBitmapGetPixel@16
|
||||
GdipGetImageWidth@8
|
||||
GdipGetImageHeight@8
|
||||
GdipDisposeImage@4
|
||||
GdipGetImageFlags@8
|
||||
GdipImageGetFrameCount@12
|
||||
GdipImageSelectActiveFrame@12
|
||||
GdipGetPropertyItemSize@12
|
||||
GdipGetPropertyItem@16
|
||||
GdipCreateBitmapFromScan0@24
|
||||
GdipSaveImageToStream@16
|
||||
GdipGetImageEncoders@12
|
||||
GdipGetImageEncodersSize@8
|
||||
GdipBitmapSetPixel@16
|
||||
GdipDrawImageI@16
|
||||
GdipGetImageGraphicsContext@8
|
||||
GdipFlush@8
|
||||
GdipGraphicsClear@8
|
||||
GdipBitmapSetResolution@12
|
||||
GdipGetImageHorizontalResolution@8
|
||||
GdipGetImageVerticalResolution@8
|
||||
GdipLoadImageFromStream@8
|
||||
GdipDeleteGraphics@4
|
||||
@@ -224,41 +224,32 @@ typedef struct _GpRect GpRect;
|
||||
#define IStream_SetSize(This,size) (This)->lpVtbl->SetSize(This,size)
|
||||
#endif
|
||||
|
||||
typedef GpStatus (WINGDIPAPI* GdiplusStartupFunc) (gpointer, const gpointer, gpointer);
|
||||
typedef GpStatus (WINGDIPAPI* GdipCreateBitmapFromStreamFunc) (gpointer, GpBitmap**);
|
||||
typedef GpStatus (WINGDIPAPI* GdipBitmapGetPixelFunc) (GpBitmap*, gint x, gint y, ARGB*);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageWidthFunc) (GpImage*, guint*);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageHeightFunc) (GpImage*, guint*);
|
||||
typedef GpStatus (WINGDIPAPI* GdipDisposeImageFunc) (GpImage*);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageFlagsFunc) (GpImage *, guint*);
|
||||
typedef GpStatus (WINGDIPAPI* GdipImageGetFrameCountFunc) (GpImage *image, const GUID* dimensionID, UINT* count);
|
||||
typedef GpStatus (WINGDIPAPI* GdipImageSelectActiveFrameFunc) (GpImage *image, const GUID* dimensionID, UINT frameIndex);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetPropertyItemSizeFunc) (GpImage *image, int propId, guint* size);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetPropertyItemFunc) (GpImage *image, int propId, guint propSize, PropertyItem* buffer);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetPropertyCountFunc) (GpImage *image, guint* numOfProperty);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetPropertyIdListFunc) (GpImage *image, guint numOfProperty, PROPID* list);
|
||||
typedef GpStatus (WINGDIPAPI* GdipCreateBitmapFromScan0Func) (INT width, INT height, INT stride, PixelFormat format, BYTE* scan0,
|
||||
GpBitmap** bitmap);
|
||||
typedef GpStatus (WINGDIPAPI* GdipSaveImageToStreamFunc) (GpImage *image, IStream* stream, const CLSID* clsidEncoder,
|
||||
const EncoderParameters* encoderParams);
|
||||
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageEncodersFunc) (UINT numEncoders, UINT size, ImageCodecInfo *encoders);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageEncodersSizeFunc) (UINT *numEncoders, UINT *size);
|
||||
typedef GpStatus (WINGDIPAPI* GdipBitmapSetPixelFunc) (GpBitmap* bitmap, INT x, INT y, ARGB color);
|
||||
|
||||
typedef GpStatus (WINGDIPAPI* GdipDrawImageIFunc) (GpGraphics *graphics, GpImage *image, INT x, INT y);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageGraphicsContextFunc) (GpImage *image, GpGraphics **graphics);
|
||||
typedef GpStatus (WINGDIPAPI* GdipFlushFunc) (GpGraphics *graphics, INT intention);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGraphicsClearFunc) (GpGraphics *graphics, ARGB color);
|
||||
typedef GpStatus (WINGDIPAPI* GdipBitmapSetResolutionFunc) (GpBitmap* bitmap, float xdpi, float ydpi);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageHorizontalResolutionFunc) (GpImage *image, float *resolution);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImageVerticalResolutionFunc) (GpImage *image, float *resolution);
|
||||
typedef GpStatus (WINGDIPAPI* GdipLoadImageFromStreamFunc) (IStream* stream, GpImage **image);
|
||||
typedef GpStatus (WINGDIPAPI* GdipDeleteGraphicsFunc) (GpGraphics *graphics);
|
||||
|
||||
typedef GpStatus (WINGDIPAPI* GdipBitmapLockBitsFunc) (GpBitmap* bitmap, const GpRect* rect, UINT flags, PixelFormat format, BitmapData* lockedBitmapData);
|
||||
typedef GpStatus (WINGDIPAPI* GdipBitmapUnlockBitsFunc) (GpBitmap* bitmap, BitmapData* lockedBitmapData);
|
||||
typedef GpStatus (WINGDIPAPI* GdipGetImagePixelFormatFunc) (GpImage *image, PixelFormat *format);
|
||||
typedef GpStatus (WINGDIPAPI* GdipCloneBitmapAreaIFunc) (INT x, INT y, INT width, INT height, PixelFormat format, GpBitmap *srcBitmap, GpBitmap **dstBitmap);
|
||||
GpStatus WINGDIPAPI GdiplusStartup (gpointer, const gpointer, gpointer);
|
||||
GpStatus WINGDIPAPI GdipCreateBitmapFromStream (gpointer, GpBitmap**);
|
||||
GpStatus WINGDIPAPI GdipBitmapGetPixel (GpBitmap*, gint x, gint y, ARGB*);
|
||||
GpStatus WINGDIPAPI GdipGetImageWidth (GpImage*, guint*);
|
||||
GpStatus WINGDIPAPI GdipGetImageHeight (GpImage*, guint*);
|
||||
GpStatus WINGDIPAPI GdipDisposeImage (GpImage*);
|
||||
GpStatus WINGDIPAPI GdipGetImageFlags (GpImage *, guint*);
|
||||
GpStatus WINGDIPAPI GdipImageGetFrameCount (GpImage *image, const GUID* dimensionID, UINT* count);
|
||||
GpStatus WINGDIPAPI GdipImageSelectActiveFrame (GpImage *image, const GUID* dimensionID, UINT frameIndex);
|
||||
GpStatus WINGDIPAPI GdipGetPropertyItemSize (GpImage *image, int propId, guint* size);
|
||||
GpStatus WINGDIPAPI GdipGetPropertyItem (GpImage *image, int propId, guint propSize, PropertyItem* buffer);
|
||||
GpStatus WINGDIPAPI GdipCreateBitmapFromScan0 (INT width, INT height, INT stride, PixelFormat format, BYTE* scan0,
|
||||
GpBitmap** bitmap);
|
||||
GpStatus WINGDIPAPI GdipSaveImageToStream (GpImage *image, IStream* stream, const CLSID* clsidEncoder,
|
||||
const EncoderParameters* encoderParams);
|
||||
GpStatus WINGDIPAPI GdipGetImageEncoders (UINT numEncoders, UINT size, ImageCodecInfo *encoders);
|
||||
GpStatus WINGDIPAPI GdipGetImageEncodersSize (UINT *numEncoders, UINT *size);
|
||||
GpStatus WINGDIPAPI GdipBitmapSetPixel (GpBitmap* bitmap, INT x, INT y, ARGB color);
|
||||
GpStatus WINGDIPAPI GdipDrawImageI (GpGraphics *graphics, GpImage *image, INT x, INT y);
|
||||
GpStatus WINGDIPAPI GdipGetImageGraphicsContext (GpImage *image, GpGraphics **graphics);
|
||||
GpStatus WINGDIPAPI GdipFlush (GpGraphics *graphics, INT intention);
|
||||
GpStatus WINGDIPAPI GdipGraphicsClear (GpGraphics *graphics, ARGB color);
|
||||
GpStatus WINGDIPAPI GdipBitmapSetResolution (GpBitmap* bitmap, float xdpi, float ydpi);
|
||||
GpStatus WINGDIPAPI GdipGetImageHorizontalResolution (GpImage *image, float *resolution);
|
||||
GpStatus WINGDIPAPI GdipGetImageVerticalResolution (GpImage *image, float *resolution);
|
||||
GpStatus WINGDIPAPI GdipLoadImageFromStream (IStream* stream, GpImage **image);
|
||||
GpStatus WINGDIPAPI GdipDeleteGraphics (GpGraphics *graphics);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -31,37 +31,17 @@
|
||||
|
||||
#define LOAD_BUFFER_SIZE 65536
|
||||
|
||||
static GdiplusStartupFunc GdiplusStartup;
|
||||
static GdipCreateBitmapFromStreamFunc GdipCreateBitmapFromStream;
|
||||
static GdipBitmapGetPixelFunc GdipBitmapGetPixel;
|
||||
static GdipGetImageHeightFunc GdipGetImageHeight;
|
||||
static GdipDisposeImageFunc GdipDisposeImage;
|
||||
static GdipGetImageFlagsFunc GdipGetImageFlags;
|
||||
static GdipGetImageWidthFunc GdipGetImageWidth;
|
||||
static GdipImageGetFrameCountFunc GdipImageGetFrameCount;
|
||||
static GdipImageSelectActiveFrameFunc GdipImageSelectActiveFrame;
|
||||
static GdipGetPropertyItemSizeFunc GdipGetPropertyItemSize;
|
||||
static GdipGetPropertyItemFunc GdipGetPropertyItem;
|
||||
static GdipGetPropertyCountFunc GdipGetPropertyCount;
|
||||
static GdipGetPropertyIdListFunc GdipGetPropertyIdList;
|
||||
static GdipCreateBitmapFromScan0Func GdipCreateBitmapFromScan0;
|
||||
static GdipSaveImageToStreamFunc GdipSaveImageToStream;
|
||||
static GdipBitmapSetPixelFunc GdipBitmapSetPixel;
|
||||
static GdipDrawImageIFunc GdipDrawImageI;
|
||||
static GdipGetImageGraphicsContextFunc GdipGetImageGraphicsContext;
|
||||
static GdipFlushFunc GdipFlush;
|
||||
static GdipGraphicsClearFunc GdipGraphicsClear;
|
||||
static GdipBitmapSetResolutionFunc GdipBitmapSetResolution;
|
||||
static GdipGetImageHorizontalResolutionFunc GdipGetImageHorizontalResolution;
|
||||
static GdipGetImageVerticalResolutionFunc GdipGetImageVerticalResolution;
|
||||
static GdipLoadImageFromStreamFunc GdipLoadImageFromStream;
|
||||
static GdipDeleteGraphicsFunc GdipDeleteGraphics;
|
||||
static GdipGetImageEncodersFunc GdipGetImageEncoders;
|
||||
static GdipGetImageEncodersSizeFunc GdipGetImageEncodersSize;
|
||||
static GdipBitmapLockBitsFunc GdipBitmapLockBits;
|
||||
static GdipBitmapUnlockBitsFunc GdipBitmapUnlockBits;
|
||||
static GdipGetImagePixelFormatFunc GdipGetImagePixelFormat;
|
||||
static GdipCloneBitmapAreaIFunc GdipCloneBitmapAreaI;
|
||||
struct _GdipContext {
|
||||
GdkPixbufModuleUpdatedFunc updated_func;
|
||||
GdkPixbufModulePreparedFunc prepared_func;
|
||||
GdkPixbufModuleSizeFunc size_func;
|
||||
|
||||
gpointer user_data;
|
||||
GByteArray *buffer;
|
||||
IStream *stream;
|
||||
HGLOBAL hg;
|
||||
};
|
||||
typedef struct _GdipContext GdipContext;
|
||||
|
||||
DEFINE_GUID(FrameDimensionTime, 0x6aedbd6d,0x3fb5,0x418a,0x83,0xa6,0x7f,0x45,0x22,0x9d,0xc8,0x72);
|
||||
DEFINE_GUID(FrameDimensionPage, 0x7462dc86,0x6180,0x4c7e,0x8e,0x3f,0xee,0x73,0x33,0xa7,0xa4,0x83);
|
||||
@@ -119,58 +99,12 @@ gdip_init (void)
|
||||
{
|
||||
GdiplusStartupInput input;
|
||||
ULONG_PTR gdiplusToken = 0;
|
||||
static HINSTANCE gdipluslib = NULL;
|
||||
static gboolean beenhere = FALSE;
|
||||
|
||||
if (!gdipluslib)
|
||||
gdipluslib = LoadLibrary ("gdiplus.dll");
|
||||
else
|
||||
if (beenhere)
|
||||
return TRUE; /* gdip_init() is idempotent */
|
||||
|
||||
if (!gdipluslib)
|
||||
return FALSE;
|
||||
|
||||
#define LOOKUP(func) \
|
||||
G_STMT_START { \
|
||||
func = (func##Func) GetProcAddress (gdipluslib, #func); \
|
||||
if (!func) {\
|
||||
g_warning ("Couldn't find GDI+ function %s\n", #func); \
|
||||
return FALSE; \
|
||||
} \
|
||||
} G_STMT_END
|
||||
|
||||
LOOKUP (GdiplusStartup);
|
||||
LOOKUP (GdipCreateBitmapFromStream);
|
||||
LOOKUP (GdipBitmapGetPixel);
|
||||
LOOKUP (GdipGetImageHeight);
|
||||
LOOKUP (GdipDisposeImage);
|
||||
LOOKUP (GdipGetImageFlags);
|
||||
LOOKUP (GdipGetImageWidth);
|
||||
LOOKUP (GdipImageGetFrameCount);
|
||||
LOOKUP (GdipImageSelectActiveFrame);
|
||||
LOOKUP (GdipGetPropertyItemSize);
|
||||
LOOKUP (GdipGetPropertyItem);
|
||||
LOOKUP (GdipGetPropertyCount);
|
||||
LOOKUP (GdipGetPropertyIdList);
|
||||
LOOKUP (GdipCreateBitmapFromScan0);
|
||||
LOOKUP (GdipSaveImageToStream);
|
||||
LOOKUP (GdipBitmapSetPixel);
|
||||
LOOKUP (GdipDrawImageI);
|
||||
LOOKUP (GdipGetImageGraphicsContext);
|
||||
LOOKUP (GdipFlush);
|
||||
LOOKUP (GdipGraphicsClear);
|
||||
LOOKUP (GdipBitmapSetResolution);
|
||||
LOOKUP (GdipGetImageHorizontalResolution);
|
||||
LOOKUP (GdipGetImageVerticalResolution);
|
||||
LOOKUP (GdipLoadImageFromStream);
|
||||
LOOKUP (GdipDeleteGraphics);
|
||||
LOOKUP (GdipGetImageEncoders);
|
||||
LOOKUP (GdipGetImageEncodersSize);
|
||||
LOOKUP (GdipBitmapLockBits);
|
||||
LOOKUP (GdipBitmapUnlockBits);
|
||||
LOOKUP (GdipGetImagePixelFormat);
|
||||
LOOKUP (GdipCloneBitmapAreaI);
|
||||
|
||||
#undef LOOKUP
|
||||
beenhere = TRUE;
|
||||
|
||||
input.GdiplusVersion = 1;
|
||||
input.DebugEventCallback = NULL;
|
||||
@@ -339,21 +273,20 @@ gdip_pixbuf_to_bitmap (GdkPixbuf *pixbuf)
|
||||
}
|
||||
|
||||
static GpBitmap *
|
||||
gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
|
||||
gdip_buffer_to_bitmap (GdipContext *context, GError **error)
|
||||
{
|
||||
HRESULT hr;
|
||||
HGLOBAL hg = NULL;
|
||||
GpBitmap *bitmap = NULL;
|
||||
IStream *stream = NULL;
|
||||
GpStatus status;
|
||||
guint64 size64 = size;
|
||||
guint64 size64 = context->buffer->len;
|
||||
|
||||
hg = gdip_buffer_to_hglobal (buffer, size, error);
|
||||
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
|
||||
|
||||
if (!hg)
|
||||
return NULL;
|
||||
|
||||
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
|
||||
hr = CreateStreamOnHGlobal (hg, FALSE, (LPSTREAM *)&stream);
|
||||
|
||||
if (!SUCCEEDED (hr)) {
|
||||
@@ -361,29 +294,35 @@ gdip_buffer_to_bitmap (const gchar *buffer, size_t size, GError **error)
|
||||
GlobalFree (hg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
|
||||
|
||||
status = GdipCreateBitmapFromStream (stream, &bitmap);
|
||||
|
||||
if (Ok != status)
|
||||
if (Ok != status) {
|
||||
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
context->stream = stream;
|
||||
context->hg = hg;
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
static GpImage *
|
||||
gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
|
||||
gdip_buffer_to_image (GdipContext *context, GError **error)
|
||||
{
|
||||
HRESULT hr;
|
||||
HGLOBAL hg = NULL;
|
||||
GpImage *image = NULL;
|
||||
IStream *stream = NULL;
|
||||
GpStatus status;
|
||||
guint64 size64 = size;
|
||||
guint64 size64 = context->buffer->len;
|
||||
|
||||
hg = gdip_buffer_to_hglobal (buffer, size, error);
|
||||
hg = gdip_buffer_to_hglobal (context->buffer->data, context->buffer->len, error);
|
||||
|
||||
if (!hg)
|
||||
return NULL;
|
||||
@@ -399,11 +338,15 @@ gdip_buffer_to_image (const gchar *buffer, size_t size, GError **error)
|
||||
IStream_SetSize (stream, *(ULARGE_INTEGER *)&size64);
|
||||
status = GdipLoadImageFromStream (stream, &image);
|
||||
|
||||
if (Ok != status)
|
||||
if (Ok != status) {
|
||||
gdip_set_error_from_gpstatus (error, GDK_PIXBUF_ERROR_FAILED, status);
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
IStream_Release (stream);
|
||||
GlobalFree (hg);
|
||||
context->stream = stream;
|
||||
context->hg = hg;
|
||||
|
||||
return image;
|
||||
}
|
||||
@@ -590,24 +533,14 @@ gdip_bitmap_get_n_loops (GpBitmap *bitmap, guint *loops)
|
||||
return success;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
||||
struct _GdipContext {
|
||||
GdkPixbufModuleUpdatedFunc updated_func;
|
||||
GdkPixbufModulePreparedFunc prepared_func;
|
||||
GdkPixbufModuleSizeFunc size_func;
|
||||
|
||||
gpointer user_data;
|
||||
|
||||
GByteArray *buffer;
|
||||
};
|
||||
typedef struct _GdipContext GdipContext;
|
||||
|
||||
static void
|
||||
destroy_gdipcontext (GdipContext *context)
|
||||
{
|
||||
if (context != NULL) {
|
||||
if (context->stream != NULL) {
|
||||
IStream_Release(context->stream);
|
||||
GlobalFree (context->hg);
|
||||
}
|
||||
g_byte_array_free (context->buffer, TRUE);
|
||||
g_free (context);
|
||||
}
|
||||
@@ -806,9 +739,8 @@ gdk_pixbuf__gdip_image_stop_load (gpointer data, GError **error)
|
||||
{
|
||||
GdipContext *context = (GdipContext *)data;
|
||||
GpBitmap *bitmap = NULL;
|
||||
GByteArray *image_buffer = context->buffer;
|
||||
|
||||
bitmap = gdip_buffer_to_bitmap ((gchar *)image_buffer->data, image_buffer->len, error);
|
||||
bitmap = gdip_buffer_to_bitmap (context, error);
|
||||
|
||||
if (!bitmap) {
|
||||
destroy_gdipcontext (context);
|
||||
@@ -823,7 +755,6 @@ static gboolean
|
||||
gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
|
||||
{
|
||||
GdipContext *context = (GdipContext *)data;
|
||||
GByteArray *image_buffer = context->buffer;
|
||||
|
||||
GpImage *metafile;
|
||||
GpGraphics *graphics;
|
||||
@@ -832,7 +763,7 @@ gdk_pixbuf__gdip_image_stop_vector_load (gpointer data, GError **error)
|
||||
float metafile_xres, metafile_yres;
|
||||
guint width, height;
|
||||
|
||||
metafile = gdip_buffer_to_image ((gchar *)image_buffer->data, image_buffer->len, error);
|
||||
metafile = gdip_buffer_to_image (context, error);
|
||||
if (!metafile) {
|
||||
destroy_gdipcontext (context);
|
||||
g_set_error_literal (error, GDK_PIXBUF_ERROR, GDK_PIXBUF_ERROR_CORRUPT_IMAGE, _("Couldn't load metafile"));
|
||||
|
||||
@@ -23,6 +23,13 @@
|
||||
#include "gdkregion-generic.h"
|
||||
#include "gdkalias.h"
|
||||
|
||||
static void
|
||||
gdk_ensure_surface_flush (gpointer surface)
|
||||
{
|
||||
cairo_surface_flush (surface);
|
||||
cairo_surface_destroy (surface);
|
||||
}
|
||||
|
||||
/**
|
||||
* gdk_cairo_create:
|
||||
* @drawable: a #GdkDrawable
|
||||
@@ -43,6 +50,7 @@
|
||||
cairo_t *
|
||||
gdk_cairo_create (GdkDrawable *drawable)
|
||||
{
|
||||
static const cairo_user_data_key_t key;
|
||||
cairo_surface_t *surface;
|
||||
cairo_t *cr;
|
||||
|
||||
@@ -50,7 +58,13 @@ gdk_cairo_create (GdkDrawable *drawable)
|
||||
|
||||
surface = _gdk_drawable_ref_cairo_surface (drawable);
|
||||
cr = cairo_create (surface);
|
||||
cairo_surface_destroy (surface);
|
||||
|
||||
/* Ugly workaround for GTK not ensuring to flush surfaces before
|
||||
* directly accessing the drawable backed by the surface. Not visible
|
||||
* on X11 (where flushing is a no-op). For details, see
|
||||
* https://bugzilla.gnome.org/show_bug.cgi?id=628291
|
||||
*/
|
||||
cairo_set_user_data (cr, &key, surface, gdk_ensure_surface_flush);
|
||||
|
||||
return cr;
|
||||
}
|
||||
|
||||
@@ -161,40 +161,19 @@ static void
|
||||
track_mouse_event (DWORD dwFlags,
|
||||
HWND hwnd)
|
||||
{
|
||||
typedef BOOL (WINAPI *PFN_TrackMouseEvent) (LPTRACKMOUSEEVENT);
|
||||
static PFN_TrackMouseEvent p_TrackMouseEvent = NULL;
|
||||
static gboolean once = FALSE;
|
||||
TRACKMOUSEEVENT tme;
|
||||
|
||||
if (!once)
|
||||
{
|
||||
HMODULE user32;
|
||||
HINSTANCE commctrl32;
|
||||
tme.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||
tme.dwFlags = dwFlags;
|
||||
tme.hwndTrack = hwnd;
|
||||
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
|
||||
|
||||
user32 = GetModuleHandle ("user32.dll");
|
||||
if ((p_TrackMouseEvent = (PFN_TrackMouseEvent)GetProcAddress (user32, "TrackMouseEvent")) == NULL)
|
||||
{
|
||||
if ((commctrl32 = LoadLibrary ("commctrl32.dll")) != NULL)
|
||||
p_TrackMouseEvent = (PFN_TrackMouseEvent)
|
||||
GetProcAddress (commctrl32, "_TrackMouseEvent");
|
||||
}
|
||||
once = TRUE;
|
||||
}
|
||||
|
||||
if (p_TrackMouseEvent)
|
||||
{
|
||||
TRACKMOUSEEVENT tme;
|
||||
tme.cbSize = sizeof(TRACKMOUSEEVENT);
|
||||
tme.dwFlags = dwFlags;
|
||||
tme.hwndTrack = hwnd;
|
||||
tme.dwHoverTime = HOVER_DEFAULT; /* not used */
|
||||
|
||||
if (!p_TrackMouseEvent (&tme))
|
||||
WIN32_API_FAILED ("TrackMouseEvent");
|
||||
else if (dwFlags == TME_LEAVE)
|
||||
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
|
||||
else if (dwFlags == TME_CANCEL)
|
||||
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
|
||||
}
|
||||
if (!TrackMouseEvent (&tme))
|
||||
WIN32_API_FAILED ("TrackMouseEvent");
|
||||
else if (dwFlags == TME_LEAVE)
|
||||
GDK_NOTE (EVENTS, g_print(" (TrackMouseEvent %p)", hwnd));
|
||||
else if (dwFlags == TME_CANCEL)
|
||||
GDK_NOTE (EVENTS, g_print(" (cancel TrackMouseEvent %p)", hwnd));
|
||||
}
|
||||
|
||||
gulong
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkinput-win32.h"
|
||||
|
||||
#define WINTAB32_DLL "Wintab32.dll"
|
||||
|
||||
#define PACKETDATA (PK_CONTEXT | PK_CURSOR | PK_BUTTONS | PK_X | PK_Y | PK_NORMAL_PRESSURE | PK_ORIENTATION)
|
||||
/* We want everything in absolute mode */
|
||||
#define PACKETMODE (0)
|
||||
@@ -334,12 +336,14 @@ _gdk_input_wintab_init_check (void)
|
||||
BOOL active;
|
||||
DWORD physid;
|
||||
AXIS axis_x, axis_y, axis_npressure, axis_or[3];
|
||||
int i, k;
|
||||
int i, k, n;
|
||||
int devix, cursorix;
|
||||
wchar_t devname[100], csrname[100];
|
||||
gchar *devname_utf8, *csrname_utf8;
|
||||
BOOL defcontext_done;
|
||||
HMODULE wintab32;
|
||||
char *wintab32_dll_path;
|
||||
char dummy;
|
||||
|
||||
if (wintab_initialized)
|
||||
return;
|
||||
@@ -351,7 +355,25 @@ _gdk_input_wintab_init_check (void)
|
||||
if (_gdk_input_ignore_wintab)
|
||||
return;
|
||||
|
||||
if ((wintab32 = LoadLibrary ("wintab32.dll")) == NULL)
|
||||
n = GetSystemDirectory (&dummy, 0);
|
||||
|
||||
if (n <= 0)
|
||||
return;
|
||||
|
||||
wintab32_dll_path = g_malloc (n + 1 + strlen (WINTAB32_DLL));
|
||||
k = GetSystemDirectory (wintab32_dll_path, n);
|
||||
|
||||
if (k == 0 || k > n)
|
||||
{
|
||||
g_free (wintab32_dll_path);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!G_IS_DIR_SEPARATOR (wintab32_dll_path[strlen (wintab32_dll_path) -1]))
|
||||
strcat (wintab32_dll_path, G_DIR_SEPARATOR_S);
|
||||
strcat (wintab32_dll_path, WINTAB32_DLL);
|
||||
|
||||
if ((wintab32 = LoadLibrary (wintab32_dll_path)) == NULL)
|
||||
return;
|
||||
|
||||
if ((p_WTInfoA = (t_WTInfoA) GetProcAddress (wintab32, "WTInfoA")) == NULL)
|
||||
|
||||
@@ -180,7 +180,8 @@ void
|
||||
gdk_display_beep (GdkDisplay *display)
|
||||
{
|
||||
g_return_if_fail (display == gdk_display_get_default());
|
||||
Beep(1000, 50);
|
||||
if (!MessageBeep (-1))
|
||||
Beep (1000, 50);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -621,6 +622,9 @@ _gdk_win32_window_exstyle_to_string (LONG style)
|
||||
BIT (ACCEPTFILES);
|
||||
BIT (APPWINDOW);
|
||||
BIT (CLIENTEDGE);
|
||||
#ifndef WS_EX_COMPOSITED
|
||||
# define WS_EX_COMPOSITED 0x02000000L
|
||||
#endif
|
||||
BIT (COMPOSITED);
|
||||
BIT (CONTEXTHELP);
|
||||
BIT (CONTROLPARENT);
|
||||
|
||||
@@ -938,6 +938,39 @@ bin_PROGRAMS = \
|
||||
gtk-update-icon-cache
|
||||
bin_SCRIPTS = gtk-builder-convert
|
||||
|
||||
if OS_WIN32
|
||||
|
||||
# Workaround for UAC silliness: programs with "update" in their name
|
||||
# are believed to be installers and require elevated privileges to be
|
||||
# used... Use a manifest file to tell Windows that
|
||||
# gtk-update-icon-cache.exe doesn't require any special privileges.
|
||||
|
||||
GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest
|
||||
|
||||
bin_SCRIPTS += \
|
||||
$(GTK_UPDATE_ICON_CACHE_MANIFEST)
|
||||
|
||||
gtk-update-icon-cache.exe.manifest:
|
||||
(echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>' ; \
|
||||
echo '<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">' ; \
|
||||
echo ' <assemblyIdentity version="1.0.0.0"' ; \
|
||||
echo ' processorArchitecture="'$(EXE_MANIFEST_ARCHITECTURE)'"' ; \
|
||||
echo ' name="gtk-update-icon-cache.exe"' ; \
|
||||
echo ' type="win32"/>' ; \
|
||||
echo ' <!-- Identify the application security requirements. -->' ; \
|
||||
echo ' <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">' ; \
|
||||
echo ' <security>' ; \
|
||||
echo ' <requestedPrivileges>' ; \
|
||||
echo ' <requestedExecutionLevel' ; \
|
||||
echo ' level="asInvoker"' ; \
|
||||
echo ' uiAccess="false"/>' ; \
|
||||
echo ' </requestedPrivileges>' ; \
|
||||
echo ' </security>' ; \
|
||||
echo ' </trustInfo>' ; \
|
||||
echo '</assembly>' ) >$@
|
||||
|
||||
endif
|
||||
|
||||
gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
|
||||
gtk_query_immodules_2_0_LDADD = $(LDADDS)
|
||||
|
||||
@@ -1256,7 +1289,7 @@ gtk_update_icon_cache_program = \
|
||||
endif
|
||||
|
||||
gtkbuiltincache.h: @REBUILD@ stamp-icons
|
||||
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT)
|
||||
$(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST)
|
||||
$(gtk_update_icon_cache_program) --force --ignore-theme-index \
|
||||
--source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \
|
||||
mv gtkbuiltincache.h.tmp gtkbuiltincache.h
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "gtkaccelgroup.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtkcellrendereraccel.h"
|
||||
#include "gtkmain.h"
|
||||
#include "gtklabel.h"
|
||||
#include "gtkeventbox.h"
|
||||
#include "gtkprivate.h"
|
||||
|
||||
@@ -876,6 +876,17 @@ gtk_status_icon_init (GtkStatusIcon *status_icon)
|
||||
priv->nid.uCallbackMessage = WM_GTK_TRAY_NOTIFICATION;
|
||||
priv->nid.uFlags = NIF_MESSAGE;
|
||||
|
||||
/* To help win7 identify the icon create it with an application "unique" tip */
|
||||
if (g_get_prgname ())
|
||||
{
|
||||
WCHAR *wcs = g_utf8_to_utf16 (g_get_prgname (), -1, NULL, NULL, NULL);
|
||||
|
||||
priv->nid.uFlags |= NIF_TIP;
|
||||
wcsncpy (priv->nid.szTip, wcs, G_N_ELEMENTS (priv->nid.szTip) - 1);
|
||||
priv->nid.szTip[G_N_ELEMENTS (priv->nid.szTip) - 1] = 0;
|
||||
g_free (wcs);
|
||||
}
|
||||
|
||||
if (!Shell_NotifyIconW (NIM_ADD, &priv->nid))
|
||||
{
|
||||
g_warning ("%s:%d:Shell_NotifyIcon(NIM_ADD) failed", __FILE__, __LINE__-2);
|
||||
|
||||
@@ -101,6 +101,7 @@ gtk_OBJECTS_deprecated = \
|
||||
gtklistitem.obj \
|
||||
gtkprogress.obj \
|
||||
gtktipsquery.obj \
|
||||
gtkshow.obj \
|
||||
gtksignal.obj \
|
||||
gtkpixmap.obj \
|
||||
gtkpreview.obj \
|
||||
@@ -144,7 +145,6 @@ gtk_OBJECTS_file = \
|
||||
gtkfilefilter.obj \
|
||||
gtkfilesystem.obj \
|
||||
gtkfilesystemmodel.obj \
|
||||
gtkfilesystemwin32.obj \
|
||||
|
||||
gtk_OBJECTS_print = \
|
||||
gtkprint-win32.obj \
|
||||
@@ -193,6 +193,7 @@ gtk_OBJECTS = \
|
||||
gtkaccessible.obj \
|
||||
gtkaction.obj \
|
||||
gtkactiongroup.obj \
|
||||
gtkactivatable.obj \
|
||||
gtkadjustment.obj \
|
||||
gtkalignment.obj \
|
||||
gtkarrow.obj \
|
||||
@@ -273,6 +274,7 @@ gtk_OBJECTS = \
|
||||
gtkmountoperation.obj \
|
||||
gtknotebook.obj \
|
||||
gtkobject.obj \
|
||||
gtkorientable.obj \
|
||||
gtkpagesetup.obj \
|
||||
gtkpaned.obj \
|
||||
gtkpapersize.obj \
|
||||
@@ -347,6 +349,7 @@ gtk_public_h_sources = \
|
||||
gtkaccessible.h \
|
||||
gtkaction.h \
|
||||
gtkactiongroup.h \
|
||||
gtkactivatable.h \
|
||||
gtkadjustment.h \
|
||||
gtkalignment.h \
|
||||
gtkarrow.h \
|
||||
|
||||
@@ -698,8 +698,8 @@ setup_msw_rc_style (void)
|
||||
GdkColor text_prelight;
|
||||
|
||||
/* Prelight */
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT,
|
||||
get_windows_version () == VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
|
||||
sys_color_to_gtk_color (get_windows_version () >= VISTA_VERSION ? XP_THEME_CLASS_MENU : XP_THEME_CLASS_TEXT,
|
||||
get_windows_version () >= VISTA_VERSION ? COLOR_MENUTEXT : COLOR_HIGHLIGHTTEXT,
|
||||
&fg_prelight);
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT, &bg_prelight);
|
||||
sys_color_to_gtk_color (XP_THEME_CLASS_TEXT, COLOR_HIGHLIGHT,
|
||||
|
||||
@@ -165,6 +165,8 @@ static const short element_part_map[XP_THEME_ELEMENT__SIZEOF] = {
|
||||
TKP_TICSVERT
|
||||
};
|
||||
|
||||
#define UXTHEME_DLL "uxtheme.dll"
|
||||
|
||||
static HINSTANCE uxtheme_dll = NULL;
|
||||
static HTHEME open_themes[XP_THEME_CLASS__SIZEOF];
|
||||
static gboolean use_xp_theme = FALSE;
|
||||
@@ -219,12 +221,36 @@ xp_theme_close_open_handles (void)
|
||||
void
|
||||
xp_theme_init (void)
|
||||
{
|
||||
char *buf;
|
||||
char dummy;
|
||||
int n, k;
|
||||
|
||||
if (uxtheme_dll)
|
||||
return;
|
||||
|
||||
memset (open_themes, 0, sizeof (open_themes));
|
||||
|
||||
uxtheme_dll = LoadLibrary ("uxtheme.dll");
|
||||
n = GetSystemDirectory (&dummy, 0);
|
||||
|
||||
if (n <= 0)
|
||||
return;
|
||||
|
||||
buf = g_malloc (n + 1 + strlen (UXTHEME_DLL));
|
||||
k = GetSystemDirectory (buf, n);
|
||||
|
||||
if (k == 0 || k > n)
|
||||
{
|
||||
g_free (buf);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!G_IS_DIR_SEPARATOR (buf[strlen (buf) -1]))
|
||||
strcat (buf, G_DIR_SEPARATOR_S);
|
||||
strcat (buf, UXTHEME_DLL);
|
||||
|
||||
uxtheme_dll = LoadLibrary (buf);
|
||||
g_free (buf);
|
||||
|
||||
if (!uxtheme_dll)
|
||||
return;
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
7265
po-properties/my.po
Normal file
7265
po-properties/my.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -66,6 +66,7 @@ ml
|
||||
mn
|
||||
mr
|
||||
ms
|
||||
my
|
||||
nb
|
||||
ne
|
||||
nl
|
||||
|
||||
2077
po/ca@valencia.po
2077
po/ca@valencia.po
File diff suppressed because it is too large
Load Diff
48
po/or.po
48
po/or.po
@@ -13,13 +13,13 @@ msgstr ""
|
||||
"Project-Id-Version: or\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-08-29 00:06-0400\n"
|
||||
"PO-Revision-Date: 2009-04-14 12:05+0530\n"
|
||||
"PO-Revision-Date: 2009-09-15 17:41+0530\n"
|
||||
"Last-Translator: Manoj Kumar Giri <mgiri@redhat.com>\n"
|
||||
"Language-Team: Oriya <oriya-it@googlegroups.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
@@ -297,8 +297,7 @@ msgstr "'%s' ଚିତ୍ର ଫାଇଲରେ କୌଣସି ତଥ୍ଯ ନ
|
||||
#: gdk-pixbuf/gdk-pixbuf-animation.c:188 gdk-pixbuf/gdk-pixbuf-io.c:1016
|
||||
#: gdk-pixbuf/gdk-pixbuf-io.c:1280 tests/testfilechooser.c:267
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Failed to load image '%s': reason not known, probably a corrupt image file"
|
||||
msgid "Failed to load image '%s': reason not known, probably a corrupt image file"
|
||||
msgstr ""
|
||||
"'%s' ଚିତ୍ର ଫାଇଲ ଧାରଣ କରିବାରେ ଅସଫଳ: କାରଣ ଜଣା ନାହିଁ, ସମ୍ଭବତଃ ଏହା ଗୋଟିଏ ତୃଟିଯୁକ୍ତ ଚିତ୍ର ଫାଇଲ "
|
||||
"ଅଟେ"
|
||||
@@ -377,8 +376,7 @@ msgstr "'%s'କୁ ଲେଖିବା ପ୍ରତି ଖୋଲିବାରେ
|
||||
msgid ""
|
||||
"Failed to close '%s' while writing image, all data may not have been saved: %"
|
||||
"s"
|
||||
msgstr ""
|
||||
"ଚିତ୍ର ଲେଖିବା ସମୟରେ '%s'କୁ ବନ୍ଦ କରିବାରେ ଅସଫଳ, ସମ୍ପୂର୍ଣ ତଥ୍ଯ ସଂରକ୍ଷିତ ନ ହୋଇଥାଇପାରେ: %s"
|
||||
msgstr "ଚିତ୍ର ଲେଖିବା ସମୟରେ '%s'କୁ ବନ୍ଦ କରିବାରେ ଅସଫଳ, ସମ୍ପୂର୍ଣ ତଥ୍ଯ ସଂରକ୍ଷିତ ନ ହୋଇଥାଇପାରେ: %s"
|
||||
|
||||
#: gdk-pixbuf/gdk-pixbuf-io.c:2256 gdk-pixbuf/gdk-pixbuf-io.c:2307
|
||||
msgid "Insufficient memory to save image into a buffer"
|
||||
@@ -647,8 +645,7 @@ msgstr "JPEG ଚିତ୍ର ଫାଇଲ ବ୍ଯାଖ୍ଯା କରିବ
|
||||
msgid ""
|
||||
"Insufficient memory to load image, try exiting some applications to free "
|
||||
"memory"
|
||||
msgstr ""
|
||||
"ଚିତ୍ର ଧାରଣ କରିବା ପାଇଁ ଯଥେଷ୍ଟ ସ୍ମୃତି ନାହିଁ, ସ୍ମୃତି ମୁକ୍ତି ପାଇଁ କିଛି ପ୍ରୟୋଗ ବନ୍ଦ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"
|
||||
msgstr "ଚିତ୍ର ଧାରଣ କରିବା ପାଇଁ ଯଥେଷ୍ଟ ସ୍ମୃତି ନାହିଁ, ସ୍ମୃତି ମୁକ୍ତି ପାଇଁ କିଛି ପ୍ରୟୋଗ ବନ୍ଦ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ"
|
||||
|
||||
#: gdk-pixbuf/io-jpeg.c:569 gdk-pixbuf/io-jpeg.c:775
|
||||
#, c-format
|
||||
@@ -673,8 +670,7 @@ msgstr "JPEG ଗୁଣବତ୍ତାର ମୂଲ୍ଯ ୦ ଓ ୧୦୦ ଭ
|
||||
|
||||
#: gdk-pixbuf/io-jpeg.c:1147 gdk-pixbuf/io-gdip-jpeg.c:68
|
||||
#, c-format
|
||||
msgid ""
|
||||
"JPEG quality must be a value between 0 and 100; value '%d' is not allowed."
|
||||
msgid "JPEG quality must be a value between 0 and 100; value '%d' is not allowed."
|
||||
msgstr "JPEG ଗୁଣବତ୍ତାର ମୂଲ୍ଯ ୦ ଓ ୧୦୦ ଭିତରେ ଥିବା ଉଚିତ; '%d' ମୂଲ୍ଯର ଅନୁମତି ନାହିଁ."
|
||||
|
||||
#: gdk-pixbuf/io-jpeg.c:1309 gdk-pixbuf/io-gdip-jpeg.c:136
|
||||
@@ -774,8 +770,7 @@ msgid "Fatal error reading PNG image file: %s"
|
||||
msgstr "PNG ଫାଇଲ ପଢ଼ିବାରେ ମାରାତ୍ମକ ତୃଟି: %s"
|
||||
|
||||
#: gdk-pixbuf/io-png.c:825
|
||||
msgid ""
|
||||
"Keys for PNG text chunks must have at least 1 and at most 79 characters."
|
||||
msgid "Keys for PNG text chunks must have at least 1 and at most 79 characters."
|
||||
msgstr "PNG ପାଠ୍ଯ ଖଣ୍ଡର ଚାବି ୧ ଓ ୭୯ ଅକ୍ଷର ଭିତରେ ହୋଇଥିବା ଆବଶ୍ଯକ."
|
||||
|
||||
#: gdk-pixbuf/io-png.c:833
|
||||
@@ -1418,8 +1413,7 @@ msgstr "ବାହାର ମଣ୍ଡଳରୁ ରଙ୍ଗ ବାଛନ୍ତୁ
|
||||
msgid ""
|
||||
"Click the eyedropper, then click a color anywhere on your screen to select "
|
||||
"that color."
|
||||
msgstr ""
|
||||
"ଆଖିଡ୍ରପର ଉପରେ ମାଉସ ଚାବି ଦବାଇ, ରଙ୍ଗ ବାଛିବା ପାଇଁ ପରଦାର କୌଣସି ରଙ୍ଗ ଉପରେ ମାଉସ ଚାବି ଦବାନ୍ତୁ।"
|
||||
msgstr "ଆଖିଡ୍ରପର ଉପରେ ମାଉସ ଚାବି ଦବାଇ, ରଙ୍ଗ ବାଛିବା ପାଇଁ ପରଦାର କୌଣସି ରଙ୍ଗ ଉପରେ ମାଉସ ଚାବି ଦବାନ୍ତୁ।"
|
||||
|
||||
#: gtk/gtkcolorsel.c:387
|
||||
msgid "_Hue:"
|
||||
@@ -1635,7 +1629,7 @@ msgstr "'%s' ଚିହ୍ନିତ ସ୍ଥାନ କାଢ଼ନ୍ତୁ"
|
||||
#: gtk/gtkfilechooserdefault.c:3022
|
||||
#, c-format
|
||||
msgid "Bookmark '%s' cannot be removed"
|
||||
msgstr ""
|
||||
msgstr "ଚିହ୍ନିତ ସ୍ଥାନ '%s' କୁ କଢ଼ାଯାଇପାରିବ ନାହିଁ"
|
||||
|
||||
#: gtk/gtkfilechooserdefault.c:3029 gtk/gtkfilechooserdefault.c:4055
|
||||
msgid "Remove the selected bookmark"
|
||||
@@ -1754,8 +1748,7 @@ msgstr "\"%s\" ନାମର ଫାଇଲ ପୂର୍ବରୁ ଅଛି. ଆପ
|
||||
|
||||
#: gtk/gtkfilechooserdefault.c:8237 gtk/gtkprintunixdialog.c:374
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The file already exists in \"%s\". Replacing it will overwrite its contents."
|
||||
msgid "The file already exists in \"%s\". Replacing it will overwrite its contents."
|
||||
msgstr "\"%s\"ରେ ଫାଇଲ ପୂର୍ବରୁ ଅଛି. ଏହାକୁ ବଦଳାଇଲେ, ତାହାର ସୂଚୀ ନବଲିଖିତ ହୋଇଯିବ."
|
||||
|
||||
#: gtk/gtkfilechooserdefault.c:8242 gtk/gtkprintunixdialog.c:381
|
||||
@@ -1910,8 +1903,7 @@ msgstr "ଫାଇଲର ନାମ ବଦଳାନ୍ତୁ (_R)"
|
||||
|
||||
#: gtk/gtkfilesel.c:1347
|
||||
#, c-format
|
||||
msgid ""
|
||||
"The folder name \"%s\" contains symbols that are not allowed in filenames"
|
||||
msgid "The folder name \"%s\" contains symbols that are not allowed in filenames"
|
||||
msgstr "ଫୋଲ୍ଡରର ନାମ \"%s\"ରେ କିଛି ପ୍ରତୀକ ଅଛି ଯେଉଁଗୁଡ଼ିକ ଫାଇଲ ନାମରେ ମନା"
|
||||
|
||||
#: gtk/gtkfilesel.c:1394
|
||||
@@ -1988,7 +1980,7 @@ msgstr ""
|
||||
|
||||
#: gtk/gtkfilesel.c:3059
|
||||
msgid "Invalid UTF-8"
|
||||
msgstr "ଅବୈଧ ୟୁ.ଟି.ଏଫ.-୮"
|
||||
msgstr "ଅବୈଧ UTF-8"
|
||||
|
||||
#: gtk/gtkfilesel.c:3933
|
||||
msgid "Name too long"
|
||||
@@ -2227,7 +2219,7 @@ msgstr "ଅବିନ୍ଯାସ ପାଇଁ ଜି.ଟି.କେ.+ ତୃଟ
|
||||
#.
|
||||
#: gtk/gtkmain.c:707
|
||||
msgid "default:LTR"
|
||||
msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ:LTR"
|
||||
msgstr "default:LTR"
|
||||
|
||||
#: gtk/gtkmain.c:773
|
||||
#, c-format
|
||||
@@ -2295,7 +2287,7 @@ msgstr "ଗୋଟିଏ ବୈଧ ପୃଷ୍ଠା ବିନ୍ୟାସ ଫ
|
||||
#.
|
||||
#: gtk/gtkpagesetupunixdialog.c:152
|
||||
msgid "default:mm"
|
||||
msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ:ମିମି"
|
||||
msgstr "default:mm"
|
||||
|
||||
#: gtk/gtkpagesetupunixdialog.c:308
|
||||
msgid ""
|
||||
@@ -2420,7 +2412,7 @@ msgstr "ଫୋଲ୍ଡରରେ ସଂରକ୍ଷିତ କରନ୍ତୁ (_S
|
||||
#: gtk/gtkprintoperation.c:175
|
||||
#, c-format
|
||||
msgid "%s job #%d"
|
||||
msgstr "%s job #%d"
|
||||
msgstr "%s କାର୍ଯ୍ୟ #%d"
|
||||
|
||||
#: gtk/gtkprintoperation.c:1517
|
||||
msgctxt "print operation status"
|
||||
@@ -3473,8 +3465,7 @@ msgstr "\"%s\" ଟି ଗୋଟିଏ ବୈଧ ଗୁଣ ନାମ ନୁହେ
|
||||
|
||||
#: gtk/gtktextbufferserialize.c:1193
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
|
||||
msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\""
|
||||
msgstr "\"%s\" କୁ \"%s\" ପ୍ରକାରର ଗୋଟିଏ ମୂଲ୍ଯର \"%s\" ଗୁଣ ପାଇଁ ବଦଳା ଯାଇ ପାରିଲା ନାହିଁ"
|
||||
|
||||
#: gtk/gtktextbufferserialize.c:1202
|
||||
@@ -3511,10 +3502,8 @@ msgid "Serialized data is malformed"
|
||||
msgstr "ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି"
|
||||
|
||||
#: gtk/gtktextbufferserialize.c:1857
|
||||
msgid ""
|
||||
"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
|
||||
msgstr ""
|
||||
"ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି। ପ୍ରଥମ ଭାଗଟି GTKTEXTBUFFERCONTENTS-0001 ନୁହେଁ"
|
||||
msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001"
|
||||
msgstr "ଧାରାବହିକ ତଥ୍ଯକୁ ବିକୃତ ରୂପରେ ଗଠନ କରାଯାଇଛି। ପ୍ରଥମ ଭାଗଟି GTKTEXTBUFFERCONTENTS-0001 ନୁହେଁ"
|
||||
|
||||
#: gtk/gtktextutil.c:61
|
||||
msgid "LRM _Left-to-right mark"
|
||||
@@ -4967,3 +4956,4 @@ msgstr "ପରୀକ୍ଷା ମୁଦ୍ରଣୀରେ ମୁଦ୍ରଣ କ
|
||||
#, c-format
|
||||
msgid "Could not get information for file '%s': %s"
|
||||
msgstr "'%s' ଫାଇଲ ପାଇଁ ସୂଚନା ଆଣିହେଲା ନାହିଁ: %s"
|
||||
|
||||
|
||||
2075
po/pt_BR.po
2075
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ msgstr "类"
|
||||
#. Description of --name=NAME in --help output
|
||||
#: gdk/gdk.c:154
|
||||
msgid "Program name as used by the window manager"
|
||||
msgstr "窗口管理其所使用的程序名"
|
||||
msgstr "窗口管理器所使用的程序名"
|
||||
|
||||
#. Placeholder in --name=NAME in --help output
|
||||
#: gdk/gdk.c:155
|
||||
|
||||
Reference in New Issue
Block a user