forked from AuroraMiddleware/gtk
518f32d97e
2000-10-06 Havoc Pennington <hp@redhat.com> * Makefile.am (SRC_SUBDIRS): contrib subdir * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library, so it can be used in Xlib version * demos/testpixbuf.c (update_timeout): error checking from 1.0 tree * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync change from 1.0 tree that returns first frame of animation if the loaded file is an animation. * contrib: add new directory to hold stuff that comes with GTK+ but isn't really part of GTK+ (for now, gdk-pixbuf-xlib) * configure.in: add contrib/* 2000-10-06 Havoc Pennington <hp@redhat.com> * gdk-pixbuf.h: add GdkPixbufAlphaMode 2000-10-06 Havoc Pennington <hp@redhat.com> This entry is a summary of the merged-in changes from 1.0. Relevant original ChangeLog entries are spliced in after this entry; the files they refer to are from the 1.0 gdk-pixbuf sources. * pixops/pixops.c (pixops_composite_nearest): sync a small fix from 1.0 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0 Add progressive loader from 1.0 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes from 1.0 tree * io-pnm.c: new version from 1.0 tree * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use malloc not g_malloc * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to g_warning (gif_get_next_step): return 0 here, sync from 1.0 * gdk-pixbuf-util.c: sync email address change for Cody Russell 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com> * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because last nights code was still "broken". Should now properly handle all error conditions gracefully. 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com> * gdk-pixbuf/io-pnm.c: Rewrote. 2000-09-09 Federico Mena Quintero <federico@helixcode.com> * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute the correct dest offset. 2000-08-25 Federico Mena Quintero <federico@helixcode.com> * gdk-pixbuf/io-xpm.c: #include <unistd.h> 2000-08-05 Larry Ewing <lewing@helixcode.com> * gdk-pixbuf/io-tiff.c: stop leaking context->tempname. * gdk-pixbuf/io-xpm.c: same as above. 2000-07-26 Michael Meeks <michael@helixcode.com> * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make g_malloc a malloc. 2000-07-21 Larry Ewing <lewing@helixcode.com> * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that xpm at least supports the progressive interface like the one in io-tiff.c. This should be reimplemented as an actual progressive loader. 2000-07-19 Jonathan Blandford <jrb@redhat.com> * demo/pixbuf-demo.c (update_timeout): changed scaling level to make it look better. * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael meeks to handle errors better.
196 lines
4.8 KiB
C
196 lines
4.8 KiB
C
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public License
|
|
* Version 1.1 (the "MPL"); you may not use this file except in
|
|
* compliance with the MPL. You may obtain a copy of the MPL at
|
|
* http://www.mozilla.org/MPL/
|
|
*
|
|
* Software distributed under the MPL is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
|
|
* for the specific language governing rights and limitations under the
|
|
* MPL.
|
|
*
|
|
* Alternatively, the contents of this file may be used under the
|
|
* terms of the GNU Library General Public License (the "LGPL"), in
|
|
* which case the provisions of the LGPL are applicable instead of
|
|
* those above. If you wish to allow use of your version of this file
|
|
* only under the terms of the LGPL and not to allow others to use
|
|
* your version of this file under the MPL, indicate your decision by
|
|
* deleting the provisions above and replace them with the notice and
|
|
* other provisions required by the LGPL. If you do not delete the
|
|
* provisions above, a recipient may use your version of this file
|
|
* under either the MPL or the LGPL.
|
|
*/
|
|
|
|
/*
|
|
* This code is derived from GdkRgb.
|
|
* For more information on GdkRgb, see http://www.levien.com/gdkrgb/
|
|
* Raph Levien <raph@acm.org>
|
|
*/
|
|
|
|
/* Ported by Christopher Blizzard to Xlib. With permission from the
|
|
* original authors of this file, the contents of this file are also
|
|
* redistributable under the terms of the Mozilla Public license. For
|
|
* information about the Mozilla Public License, please see the
|
|
* license information at http://www.mozilla.org/MPL/
|
|
*/
|
|
|
|
/* This code is copyright the following authors:
|
|
* Raph Levien <raph@acm.org>
|
|
* Manish Singh <manish@gtk.org>
|
|
* Tim Janik <timj@gtk.org>
|
|
* Peter Mattis <petm@xcf.berkeley.edu>
|
|
* Spencer Kimball <spencer@xcf.berkeley.edu>
|
|
* Josh MacDonald <jmacd@xcf.berkeley.edu>
|
|
* Christopher Blizzard <blizzard@redhat.com>
|
|
* Owen Taylor <otaylor@redhat.com>
|
|
* Shawn T. Amundson <amundson@gtk.org>
|
|
*/
|
|
|
|
|
|
#ifndef __XLIB_RGB_H__
|
|
#define __XLIB_RGB_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
#include <X11/Xlib.h>
|
|
#include <X11/Xutil.h>
|
|
#include <X11/Xos.h>
|
|
#include <X11/Intrinsic.h>
|
|
|
|
#include <glib.h>
|
|
|
|
typedef struct _XlibRgbCmap XlibRgbCmap;
|
|
|
|
struct _XlibRgbCmap {
|
|
unsigned int colors[256];
|
|
unsigned char lut[256]; /* for 8-bit modes */
|
|
};
|
|
|
|
void
|
|
xlib_rgb_init (Display *display, Screen *screen);
|
|
void
|
|
xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth);
|
|
|
|
unsigned long
|
|
xlib_rgb_xpixel_from_rgb (guint32 rgb);
|
|
|
|
void
|
|
xlib_rgb_gc_set_foreground (GC gc, guint32 rgb);
|
|
|
|
void
|
|
xlib_rgb_gc_set_background (GC gc, guint32 rgb);
|
|
|
|
typedef enum
|
|
{
|
|
XLIB_RGB_DITHER_NONE,
|
|
XLIB_RGB_DITHER_NORMAL,
|
|
XLIB_RGB_DITHER_MAX
|
|
} XlibRgbDither;
|
|
|
|
void
|
|
xlib_draw_rgb_image (Drawable drawable,
|
|
GC gc,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
XlibRgbDither dith,
|
|
unsigned char *rgb_buf,
|
|
int rowstride);
|
|
|
|
void
|
|
xlib_draw_rgb_image_dithalign (Drawable drawable,
|
|
GC gc,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
XlibRgbDither dith,
|
|
unsigned char *rgb_buf,
|
|
int rowstride,
|
|
int xdith,
|
|
int ydith);
|
|
|
|
void
|
|
xlib_draw_rgb_32_image (Drawable drawable,
|
|
GC gc,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
XlibRgbDither dith,
|
|
unsigned char *buf,
|
|
int rowstride);
|
|
|
|
void
|
|
xlib_draw_gray_image (Drawable drawable,
|
|
GC gc,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
XlibRgbDither dith,
|
|
unsigned char *buf,
|
|
int rowstride);
|
|
|
|
XlibRgbCmap *
|
|
xlib_rgb_cmap_new (guint32 *colors, int n_colors);
|
|
|
|
void
|
|
xlib_rgb_cmap_free (XlibRgbCmap *cmap);
|
|
|
|
void
|
|
xlib_draw_indexed_image (Drawable drawable,
|
|
GC gc,
|
|
int x,
|
|
int y,
|
|
int width,
|
|
int height,
|
|
XlibRgbDither dith,
|
|
unsigned char *buf,
|
|
int rowstride,
|
|
XlibRgbCmap *cmap);
|
|
|
|
/* Below are some functions which are primarily useful for debugging
|
|
and experimentation. */
|
|
Bool
|
|
xlib_rgb_ditherable (void);
|
|
|
|
void
|
|
xlib_rgb_set_verbose (Bool verbose);
|
|
|
|
/* experimental colormap stuff */
|
|
void
|
|
xlib_rgb_set_install (Bool install);
|
|
|
|
void
|
|
xlib_rgb_set_min_colors (int min_colors);
|
|
|
|
Colormap
|
|
xlib_rgb_get_cmap (void);
|
|
|
|
Visual *
|
|
xlib_rgb_get_visual (void);
|
|
|
|
XVisualInfo *
|
|
xlib_rgb_get_visual_info (void);
|
|
|
|
int
|
|
xlib_rgb_get_depth (void);
|
|
|
|
Display *
|
|
xlib_rgb_get_display (void);
|
|
|
|
Screen *
|
|
xlib_rgb_get_screen (void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#endif /* __XLIB_RGB_H__ */
|