summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-06-21 20:47:22 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-06-21 20:47:22 +0000
commit11056f564b04a956fd3428d7257c839a609fd53e (patch)
treef0ba80f60b9d46230d393b9d39ba132c518da0f0 /gdk
parent443e8c395e9f45d89f669c944366055eead5d021 (diff)
downloadgdk-pixbuf-11056f564b04a956fd3428d7257c839a609fd53e.tar.gz
Welcome aboard, gdk-pixbuf.
Wed Jun 21 16:38:13 2000 Owen Taylor <otaylor@redhat.com> * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard, gdk-pixbuf. * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fixups for GObject. * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of gdk-pixbuf with GDK dependencies moved into GDK. * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily move gdk-pixbuf-loader here until GObject has signals. * demos/: New directory of demos. Move demos from gdk-pixbuf here. * demos/pixbuf-init.c: Small bit of code to check for loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found, set GDK_PIXBUF_MODULEDIR appropriately. * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat define which no longer makes sense.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/Makefile.am24
-rw-r--r--gdk/gdk.h1
-rw-r--r--gdk/gdkcompat.h2
-rw-r--r--gdk/gdkpixbuf-drawable.c17
-rw-r--r--gdk/gdkpixbuf-render.c1
-rw-r--r--gdk/gdkpixbuf.h75
6 files changed, 101 insertions, 19 deletions
diff --git a/gdk/Makefile.am b/gdk/Makefile.am
index 7da2e99dc..a84c494e1 100644
--- a/gdk/Makefile.am
+++ b/gdk/Makefile.am
@@ -9,16 +9,17 @@ EXTRA_DIST = \
makefile.cygwin \
makefile.msc
-common_includes = @STRIP_BEGIN@ \
- -DG_LOG_DOMAIN=\"Gdk\" \
- -I$(top_srcdir) \
- -I$(top_builddir)/gdk \
- @GTK_DEBUG_FLAGS@ \
- @GTK_XIM_FLAGS@ \
- @GTK_LOCALE_FLAGS@ \
- @PANGO_CFLAGS@ \
- @GLIB_CFLAGS@ \
- @more_cflags@ \
+common_includes = @STRIP_BEGIN@ \
+ -DG_LOG_DOMAIN=\"Gdk\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir)/gdk \
+ -I$(top_srcdir)/gdk-pixbuf \
+ @GTK_DEBUG_FLAGS@ \
+ @GTK_XIM_FLAGS@ \
+ @GTK_LOCALE_FLAGS@ \
+ @PANGO_CFLAGS@ \
+ @GLIB_CFLAGS@ \
+ @more_cflags@ \
@STRIP_END@
INCLUDES = $(common_includes)
@@ -65,6 +66,7 @@ gdk_public_h_sources = @STRIP_BEGIN@ \
gdkimage.h \
gdkinput.h \
gdkpango.h \
+ gdkpixbuf.h \
gdkpixmap.h \
gdkprivate.h \
gdkproperty.h \
@@ -89,6 +91,8 @@ gdk_c_sources = @STRIP_BEGIN@ \
gdkimage.c \
gdkinternals.h \
gdkpango.c \
+ gdkpixbuf-drawable.c \
+ gdkpixbuf-render.c \
gdkpixmap.c \
gdkpoly-generic.h \
gdkpolyreg-generic.c \
diff --git a/gdk/gdk.h b/gdk/gdk.h
index 8a76da52b..a56e327f4 100644
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -39,6 +39,7 @@
#include <gdk/gdkimage.h>
#include <gdk/gdkinput.h>
#include <gdk/gdkpango.h>
+#include <gdk/gdkpixbuf.h>
#include <gdk/gdkpixmap.h>
#include <gdk/gdkproperty.h>
#include <gdk/gdkregion.h>
diff --git a/gdk/gdkcompat.h b/gdk/gdkcompat.h
index 742f0082d..03f692d67 100644
--- a/gdk/gdkcompat.h
+++ b/gdk/gdkcompat.h
@@ -35,8 +35,6 @@ extern "C" {
#define gdk_cursor_destroy gdk_cursor_unref
-#define GDK_WINDOW_PIXMAP GDK_DRAWABLE_PIXMAP
-
#endif /* GDK_DISABLE_COMPAT_H */
#ifdef __cplusplus
diff --git a/gdk/gdkpixbuf-drawable.c b/gdk/gdkpixbuf-drawable.c
index 39a85d9a5..955a8f5c5 100644
--- a/gdk/gdkpixbuf-drawable.c
+++ b/gdk/gdkpixbuf-drawable.c
@@ -26,6 +26,12 @@
#include <config.h>
#include <stdio.h>
#include <string.h>
+#include "gdk.h" /* For gdk_screen_width/gdk_screen_height */
+#include "gdkcolor.h"
+#include "gdkimage.h"
+#include "gdkvisual.h"
+#include "gdkwindow.h"
+#include "gdkpixbuf.h"
#include "gdk-pixbuf-private.h"
#if (G_BYTE_ORDER == G_LITTLE_ENDIAN)
@@ -1082,7 +1088,6 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
int dest_x, int dest_y,
int width, int height)
{
- GdkWindowType window_type;
int src_width, src_height;
GdkImage *image;
int rowstride, bpp, alpha;
@@ -1091,9 +1096,7 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
g_return_val_if_fail (src != NULL, NULL);
- window_type = gdk_window_get_type (src);
-
- if (window_type == GDK_WINDOW_PIXMAP)
+ if (GDK_IS_PIXMAP (src))
g_return_val_if_fail (cmap != NULL, NULL);
else
/* FIXME: this is not perfect, since is_viewable() only tests
@@ -1113,7 +1116,7 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
/* Coordinate sanity checks */
- gdk_window_get_size (src, &src_width, &src_height);
+ gdk_drawable_get_size (src, &src_width, &src_height);
g_return_val_if_fail (src_x >= 0 && src_y >= 0, NULL);
g_return_val_if_fail (src_x + width <= src_width && src_y + height <= src_height, NULL);
@@ -1124,7 +1127,7 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
g_return_val_if_fail (dest_y + height <= dest->height, NULL);
}
- if (window_type != GDK_WINDOW_PIXMAP) {
+ if (!GDK_IS_PIXMAP (src)) {
int ret;
int src_xorigin, src_yorigin;
int screen_width, screen_height;
@@ -1158,7 +1161,7 @@ gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
}
/* Get the colormap if needed */
- if (window_type != GDK_WINDOW_PIXMAP)
+ if (!GDK_IS_PIXMAP (src))
cmap = gdk_window_get_colormap (src);
alpha = dest->has_alpha;
diff --git a/gdk/gdkpixbuf-render.c b/gdk/gdkpixbuf-render.c
index 706d43b59..0d47ac0cd 100644
--- a/gdk/gdkpixbuf-render.c
+++ b/gdk/gdkpixbuf-render.c
@@ -23,6 +23,7 @@
#include <config.h>
#include <gdk/gdk.h>
#include "gdk-pixbuf-private.h"
+#include "gdkpixbuf.h"
diff --git a/gdk/gdkpixbuf.h b/gdk/gdkpixbuf.h
new file mode 100644
index 000000000..271e9931d
--- /dev/null
+++ b/gdk/gdkpixbuf.h
@@ -0,0 +1,75 @@
+#ifndef __GDK_PIXBUF_H__
+#define __GDK_PIXBUF_H__
+
+#include <gdk/gdktypes.h>
+#include <gdk/gdkrgb.h>
+#include <gdk-pixbuf/gdk-pixbuf.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* Rendering to a drawable */
+
+/* Alpha compositing mode */
+typedef enum
+{
+ GDK_PIXBUF_ALPHA_BILEVEL,
+ GDK_PIXBUF_ALPHA_FULL
+} GdkPixbufAlphaMode;
+
+void gdk_pixbuf_render_threshold_alpha (GdkPixbuf *pixbuf,
+ GdkBitmap *bitmap,
+ int src_x,
+ int src_y,
+ int dest_x,
+ int dest_y,
+ int width,
+ int height,
+ int alpha_threshold);
+void gdk_pixbuf_render_to_drawable (GdkPixbuf *pixbuf,
+ GdkDrawable *drawable,
+ GdkGC *gc,
+ int src_x,
+ int src_y,
+ int dest_x,
+ int dest_y,
+ int width,
+ int height,
+ GdkRgbDither dither,
+ int x_dither,
+ int y_dither);
+void gdk_pixbuf_render_to_drawable_alpha (GdkPixbuf *pixbuf,
+ GdkDrawable *drawable,
+ int src_x,
+ int src_y,
+ int dest_x,
+ int dest_y,
+ int width,
+ int height,
+ GdkPixbufAlphaMode alpha_mode,
+ int alpha_threshold,
+ GdkRgbDither dither,
+ int x_dither,
+ int y_dither);
+void gdk_pixbuf_render_pixmap_and_mask (GdkPixbuf *pixbuf,
+ GdkPixmap **pixmap_return,
+ GdkBitmap **mask_return,
+ int alpha_threshold);
+
+/* Fetching a region from a drawable */
+GdkPixbuf *gdk_pixbuf_get_from_drawable (GdkPixbuf *dest,
+ GdkDrawable *src,
+ GdkColormap *cmap,
+ int src_x,
+ int src_y,
+ int dest_x,
+ int dest_y,
+ int width,
+ int height);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif __GDK_PIXBUF_H__