forked from old/legacy-imlib2
parent
0af7f642be
commit
1a457d0029
1
AUTHORS
1
AUTHORS
|
@ -12,3 +12,4 @@ Platon Fomichev <pla@cland.ru>
|
|||
boris (Chris Ross) <chris@darkrock.co.uk>
|
||||
Martin Grimm <grimm.martin@gmx.de>
|
||||
Matt McClanahan <cardinal@dodds.net>
|
||||
Steve Langasek <vorlon@dodds.net>
|
||||
|
|
|
@ -83,6 +83,10 @@ fi
|
|||
AC_PATH_X
|
||||
AC_PATH_XTRA
|
||||
|
||||
if test "x$have_x" = "xdisabled"; then
|
||||
AC_MSG_WARN([Xlib support is disabled.])
|
||||
else
|
||||
|
||||
if test "x$x_includes" = "x"; then
|
||||
x_includes="/usr/include"
|
||||
fi
|
||||
|
@ -90,6 +94,7 @@ fi
|
|||
x_cflags="$X_CFLAGS"
|
||||
x_ldflags="$X_LDFLAGS"
|
||||
x_libs="$X_LIBS $X_EXTRA_LIBS"
|
||||
X_OBJS="color.lo context.lo draw.lo grab.lo rend.lo rgba.lo ximage.lo"
|
||||
|
||||
AC_CHECK_LIB(X11, XOpenDisplay, x_libs="$x_libs",
|
||||
AC_MSG_ERROR([ERROR: libX11 not found.]); exit,
|
||||
|
@ -103,6 +108,9 @@ AC_CHECK_LIB(Xext, XShmAttach, x_libs="-lXext $x_libs",
|
|||
AC_CHECK_LIB(Xext, XShapeCombineMask, x_libs="-lXext $x_libs",
|
||||
AC_MSG_ERROR([ERROR: XShape not found.]); exit,
|
||||
$x_libs)
|
||||
fi
|
||||
|
||||
AC_SUBST(X_OBJS)
|
||||
|
||||
LTLIBOBJS=`echo "$LIBOBJS" | sed 's,.o ,.lo ,g;s,.o$,.lo,'`
|
||||
AC_SUBST(LTLIBOBJS)
|
||||
|
|
|
@ -14,4 +14,4 @@ INCLUDES = -I/usr/X11R6/include -I$(top_srcdir)/libltdl \
|
|||
bin_PROGRAMS = imlib2_view
|
||||
imlib2_view_SOURCES = view.c
|
||||
imlib2_view_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf -lImlib2
|
||||
$(x_libs) -lttf -lImlib2
|
||||
|
|
13
src/Imlib2.h
13
src/Imlib2.h
|
@ -83,11 +83,13 @@ extern "C"
|
|||
#endif
|
||||
|
||||
/* context setting */
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void imlib_context_set_display(Display * display);
|
||||
void imlib_context_set_visual(Visual * visual);
|
||||
void imlib_context_set_colormap(Colormap colormap);
|
||||
void imlib_context_set_drawable(Drawable drawable);
|
||||
void imlib_context_set_mask(Pixmap mask);
|
||||
#endif
|
||||
void imlib_context_set_dither_mask(char dither_mask);
|
||||
void imlib_context_set_anti_alias(char anti_alias);
|
||||
void imlib_context_set_dither(char dither);
|
||||
|
@ -106,12 +108,13 @@ extern "C"
|
|||
void imlib_context_set_cliprect(int x, int y, int w, int h);
|
||||
|
||||
/* context getting */
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
Display *imlib_context_get_display(void);
|
||||
void imlib_context_set_visual(Visual * visual);
|
||||
Visual *imlib_context_get_visual(void);
|
||||
Colormap imlib_context_get_colormap(void);
|
||||
Drawable imlib_context_get_drawable(void);
|
||||
Pixmap imlib_context_get_mask(void);
|
||||
#endif
|
||||
char imlib_context_get_dither_mask(void);
|
||||
char imlib_context_get_anti_alias(void);
|
||||
char imlib_context_get_dither(void);
|
||||
|
@ -134,9 +137,11 @@ extern "C"
|
|||
int imlib_get_color_usage(void);
|
||||
void imlib_set_color_usage(int max);
|
||||
void imlib_flush_loaders(void);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
int imlib_get_visual_depth(Display * display, Visual * visual);
|
||||
Visual *imlib_get_best_visual(Display * display, int screen,
|
||||
int *depth_return);
|
||||
#endif
|
||||
|
||||
Imlib_Image imlib_load_image(const char *file);
|
||||
Imlib_Image imlib_load_image_immediately(const char *file);
|
||||
|
@ -169,6 +174,7 @@ extern "C"
|
|||
|
||||
|
||||
/* rendering functions */
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void imlib_render_pixmaps_for_whole_image(Pixmap * pixmap_return,
|
||||
Pixmap * mask_return);
|
||||
void imlib_render_pixmaps_for_whole_image_at_size(Pixmap * pixmap_return,
|
||||
|
@ -184,6 +190,7 @@ extern "C"
|
|||
int source_height, int x,
|
||||
int y, int width,
|
||||
int height);
|
||||
#endif
|
||||
void imlib_blend_image_onto_image(Imlib_Image source_image,
|
||||
char merge_alpha, int source_x,
|
||||
int source_y, int source_width,
|
||||
|
@ -197,6 +204,7 @@ extern "C"
|
|||
DATA32 * data);
|
||||
Imlib_Image imlib_create_image_using_copied_data(int width, int height,
|
||||
DATA32 * data);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
Imlib_Image imlib_create_image_from_drawable(Pixmap mask, int x, int y,
|
||||
int width, int height,
|
||||
char need_to_grab_x);
|
||||
|
@ -213,6 +221,7 @@ extern "C"
|
|||
char imlib_copy_drawable_to_image(Pixmap mask, int x, int y, int width,
|
||||
int height, int destination_x,
|
||||
int destination_y, char need_to_grab_x);
|
||||
#endif
|
||||
Imlib_Image imlib_clone_image(void);
|
||||
Imlib_Image imlib_create_cropped_image(int x, int y, int width,
|
||||
int height);
|
||||
|
@ -386,6 +395,7 @@ extern "C"
|
|||
int destination_y, int h_angle_x,
|
||||
int h_angle_y, int v_angle_x,
|
||||
int v_angle_y);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void imlib_render_image_on_drawable_skewed(int source_x, int source_y,
|
||||
int source_width,
|
||||
int source_height,
|
||||
|
@ -399,6 +409,7 @@ extern "C"
|
|||
int destination_x,
|
||||
int destination_y,
|
||||
int angle_x, int angle_y);
|
||||
#endif
|
||||
|
||||
/* image filters */
|
||||
void imlib_image_filter(void);
|
||||
|
|
|
@ -13,19 +13,22 @@ INCLUDES = -I/usr/X11R6/include -I$(top_srcdir)/libltdl \
|
|||
|
||||
lib_LTLIBRARIES = libImlib2.la
|
||||
include_HEADERS = Imlib2.h
|
||||
libImlib2_la_SOURCES = rend.c ximage.c scale.c rgba.c image.c color.c grab.c \
|
||||
blend.c file.c rgbadraw.c api.c draw.c context.c \
|
||||
libImlib2_la_SOURCES = scale.c image.c blend.c file.c rgbadraw.c api.c \
|
||||
updates.c colormod.c font.c format.c grad.c rotate.c \
|
||||
filter.c script.c dynamic_filters.c \
|
||||
Imlib2.h image.h scale.h blend.h context.h updates.h \
|
||||
color.h draw.h rend.h ximage.h colormod.h file.h \
|
||||
rgba.h common.h grab.h rgbadraw.h font.h format.h \
|
||||
Imlib2.h image.h scale.h blend.h updates.h colormod.h \
|
||||
file.h common.h rgbadraw.h font.h format.h \
|
||||
rotate.h grad.h filter.h script.h dynamic_filters.h \
|
||||
asm_blend.S asm_rgba.S asm_scale.S asm_rotate.S \
|
||||
asm_blend_cmod.S
|
||||
libImlib2_la_LIBADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf $(LDFLAGS)
|
||||
libImlib2_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||
EXTRA_libImlib2_la_SOURCES = rend.c ximage.c rgba.c color.c grab.c draw.c \
|
||||
context.c color.h context.h draw.h grab.h rend.h \
|
||||
rgba.h ximage.h
|
||||
|
||||
libImlib2_la_LIBADD = $(X_OBJS) @DLLDFLAGS@ \
|
||||
$(top_builddir)/libltdl/libltdlc.la \
|
||||
$(x_libs) -lttf $(LDFLAGS)
|
||||
libImlib2_la_DEPENDENCIES = $(top_builddir)/config.h $(X_OBJS)
|
||||
libImlib2_la_LDFLAGS = -version-info 1:0:0
|
||||
|
||||
SYS_LOADERS_PATH = @pkglibdir@
|
||||
|
|
38
src/api.c
38
src/api.c
|
@ -1,23 +1,27 @@
|
|||
#include "config.h"
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include "common.h"
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "scale.h"
|
||||
#include "context.h"
|
||||
#include "rgba.h"
|
||||
#include "color.h"
|
||||
#include "file.h"
|
||||
#include "grab.h"
|
||||
#include "blend.h"
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include "context.h"
|
||||
#include "color.h"
|
||||
#include "grab.h"
|
||||
#include "rend.h"
|
||||
#include "draw.h"
|
||||
#include "updates.h"
|
||||
#include "rgba.h"
|
||||
#include "ximage.h"
|
||||
#include "draw.h"
|
||||
#endif
|
||||
#include "file.h"
|
||||
#include "updates.h"
|
||||
#include "rgbadraw.h"
|
||||
#include "Imlib2.h"
|
||||
#ifdef HAVE_FREETYPE_FREETYPE_H
|
||||
|
@ -66,12 +70,14 @@ typedef void (*Imlib_Internal_Progress_Function) (void *, char, int, int, int,
|
|||
typedef void (*Imlib_Internal_Data_Destructor_Function) (void *, void *);
|
||||
|
||||
/* context - all operations use this context for their state */
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
static Display *ctxt_display = NULL;
|
||||
static Visual *ctxt_visual = NULL;
|
||||
static Colormap ctxt_colormap = 0;
|
||||
static int ctxt_depth = 0;
|
||||
static Drawable ctxt_drawable = 0;
|
||||
static Pixmap ctxt_mask = 0;
|
||||
#endif
|
||||
static char ctxt_anti_alias = 1;
|
||||
static char ctxt_dither = 0;
|
||||
static char ctxt_blend = 1;
|
||||
|
@ -109,6 +115,7 @@ imlib_context_get_cliprect(int *x, int *y, int *w, int *h)
|
|||
*h = ctxt_cliprect.h;
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void
|
||||
imlib_context_set_display(Display * display)
|
||||
{
|
||||
|
@ -169,6 +176,7 @@ imlib_context_get_mask(void)
|
|||
{
|
||||
return ctxt_mask;
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
imlib_context_set_dither_mask(char dither_mask)
|
||||
|
@ -366,17 +374,23 @@ imlib_set_cache_size(int bytes)
|
|||
int
|
||||
imlib_get_color_usage(void)
|
||||
{
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
return (int) _max_colors;
|
||||
#else
|
||||
return 256;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
imlib_set_color_usage(int max)
|
||||
{
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
if (max < 2)
|
||||
max = 2;
|
||||
else if (max > 256)
|
||||
max = 256;
|
||||
_max_colors = max;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -386,6 +400,7 @@ imlib_flush_loaders(void)
|
|||
LTDL_Exit();
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
int
|
||||
imlib_get_visual_depth(Display * display, Visual * visual)
|
||||
{
|
||||
|
@ -404,6 +419,7 @@ imlib_get_best_visual(Display * display, int screen, int *depth_return)
|
|||
depth_return, NULL);
|
||||
return __imlib_BestVisual(display, screen, depth_return);
|
||||
}
|
||||
#endif
|
||||
|
||||
Imlib_Image
|
||||
imlib_load_image(const char *file)
|
||||
|
@ -765,6 +781,7 @@ imlib_image_set_has_alpha(char has_alpha)
|
|||
UNSET_FLAG(im->flags, F_HAS_ALPHA);
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void
|
||||
imlib_render_pixmaps_for_whole_image(Pixmap * pixmap_return,
|
||||
Pixmap * mask_return)
|
||||
|
@ -877,6 +894,7 @@ imlib_render_image_part_on_drawable_at_size(int source_x, int source_y,
|
|||
ctxt_anti_alias, ctxt_dither, ctxt_blend, 0,
|
||||
ctxt_color_modifier, ctxt_operation);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
imlib_blend_image_onto_image(Imlib_Image source_image, char merge_alpha,
|
||||
|
@ -969,6 +987,7 @@ imlib_create_image_using_copied_data(int width, int height, DATA32 * data)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
Imlib_Image
|
||||
imlib_create_image_from_drawable(Pixmap mask, int x, int y, int width,
|
||||
int height, char need_to_grab_x)
|
||||
|
@ -1147,6 +1166,7 @@ imlib_copy_drawable_to_image(Pixmap mask, int x, int y, int width, int height,
|
|||
ctxt_colormap, ctxt_depth, x, y, width,
|
||||
height, domask, need_to_grab_x);
|
||||
}
|
||||
#endif
|
||||
|
||||
Imlib_Image
|
||||
imlib_clone_image(void)
|
||||
|
@ -1343,6 +1363,7 @@ imlib_updates_set_coordinates(Imlib_Updates updates, int x, int y, int width,
|
|||
u->h = height;
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void
|
||||
imlib_render_image_updates_on_drawable(Imlib_Updates updates, int x, int y)
|
||||
{
|
||||
|
@ -1369,6 +1390,7 @@ imlib_render_image_updates_on_drawable(Imlib_Updates updates, int x, int y)
|
|||
}
|
||||
__imlib_SetMaxXImageCount(ctxt_display, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
Imlib_Updates
|
||||
imlib_updates_init(void)
|
||||
|
@ -2659,6 +2681,7 @@ imlib_blend_image_onto_image_skewed(Imlib_Image source_image,
|
|||
ctxt_color_modifier, ctxt_operation);
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void
|
||||
imlib_render_image_on_drawable_skewed(int source_x, int source_y,
|
||||
int source_width, int source_height,
|
||||
|
@ -2709,6 +2732,7 @@ imlib_render_image_on_drawable_at_angle(int source_x, int source_y,
|
|||
ctxt_dither_mask, ctxt_color_modifier,
|
||||
ctxt_operation);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
imlib_image_filter(void)
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <math.h>
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include "common.h"
|
||||
#include "color.h"
|
||||
|
||||
DATA8 _pal_type = 0;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include "colormod.h"
|
||||
#include "file.h"
|
||||
#include "loaderpath.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <math.h>
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
#include <fcntl.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include "image.h"
|
||||
|
||||
typedef struct _imlib_color_modifier ImlibColorModifier;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#include <X11/Xlib.h>
|
||||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include "image.h"
|
||||
#include "context.h"
|
||||
#include "color.h"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/XShm.h>
|
||||
#include "common.h"
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
#include <fcntl.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include "image.h"
|
||||
#include "file.h"
|
||||
#include "dynamic_filters.h"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include "common.h"
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#ifdef __EMX__
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "config.h"
|
||||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/XShm.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/extensions/shape.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include "common.h"
|
||||
#include "grab.h"
|
||||
|
||||
static char _x_err = 0;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include "colormod.h"
|
||||
#include "file.h"
|
||||
#include "loaderpath.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <math.h>
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
30
src/image.c
30
src/image.c
|
@ -6,7 +6,9 @@
|
|||
#include <fcntl.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
#include "image.h"
|
||||
#include "file.h"
|
||||
#include "loaderpath.h"
|
||||
|
@ -16,7 +18,9 @@ extern char *__XOS2RedirRoot(const char *);
|
|||
#endif
|
||||
|
||||
static ImlibImage *images = NULL;
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
static ImlibImagePixmap *pixmaps = NULL;
|
||||
#endif
|
||||
static ImlibLoader *loaders = NULL;
|
||||
static int cache_size = 4096 * 1024;
|
||||
|
||||
|
@ -122,7 +126,9 @@ __imlib_SetCacheSize(int size)
|
|||
{
|
||||
cache_size = size;
|
||||
__imlib_CleanupImageCache();
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
__imlib_CleanupImagePixmapCache();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* return the cache size */
|
||||
|
@ -153,7 +159,9 @@ __imlib_ProduceImage(void)
|
|||
void
|
||||
__imlib_ConsumeImage(ImlibImage * im)
|
||||
{
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ImlibImagePixmap *ip;
|
||||
#endif
|
||||
|
||||
__imlib_FreeAllTags(im);
|
||||
if (im->file)
|
||||
|
@ -163,6 +171,7 @@ ImlibImagePixmap *ip;
|
|||
if (im->format)
|
||||
free(im->format);
|
||||
free(im);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ip = pixmaps;
|
||||
while (ip)
|
||||
{
|
||||
|
@ -173,6 +182,7 @@ ImlibImagePixmap *ip;
|
|||
}
|
||||
ip = ip->next;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
ImlibImage *
|
||||
|
@ -241,7 +251,9 @@ int
|
|||
__imlib_CurrentCacheSize(void)
|
||||
{
|
||||
ImlibImage *im;
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ImlibImagePixmap *ip;
|
||||
#endif
|
||||
int current_cache = 0;
|
||||
|
||||
/* go through the image cache */
|
||||
|
@ -259,6 +271,7 @@ __imlib_CurrentCacheSize(void)
|
|||
im = im->next;
|
||||
__imlib_RemoveImageFromCache(tmp_im);
|
||||
__imlib_ConsumeImage(tmp_im);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ip = pixmaps;
|
||||
while (ip)
|
||||
{
|
||||
|
@ -269,6 +282,7 @@ __imlib_CurrentCacheSize(void)
|
|||
}
|
||||
ip = ip->next;
|
||||
}
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
/* it's valid but has 0 ref's - append to cache size count */
|
||||
|
@ -277,6 +291,7 @@ __imlib_CurrentCacheSize(void)
|
|||
}
|
||||
im = im->next;
|
||||
}
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
/* go through the pixmaps */
|
||||
ip = pixmaps;
|
||||
while (ip)
|
||||
|
@ -317,6 +332,7 @@ __imlib_CurrentCacheSize(void)
|
|||
}
|
||||
ip = ip->next;
|
||||
}
|
||||
#endif
|
||||
return current_cache;
|
||||
}
|
||||
|
||||
|
@ -365,6 +381,7 @@ __imlib_CleanupImageCache(void)
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
/* create a pixmap cache data struct */
|
||||
ImlibImagePixmap *
|
||||
__imlib_ProduceImagePixmap(void)
|
||||
|
@ -532,6 +549,7 @@ __imlib_CleanupImagePixmapCache(void)
|
|||
current_cache = __imlib_CurrentCacheSize();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#define LOADERS_UNINITIALISED -4444
|
||||
|
||||
|
@ -1163,7 +1181,8 @@ __imlib_LoadImage(const char *file, ImlibProgressFunction progress,
|
|||
return im;
|
||||
}
|
||||
|
||||
/* find an imagepixmap cache enctyr by the display and pixmap id */
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
/* find an imagepixmap cache entry by the display and pixmap id */
|
||||
ImlibImagePixmap *
|
||||
__imlib_FindImlibImagePixmapByID(Display * d, Pixmap p)
|
||||
{
|
||||
|
@ -1187,6 +1206,7 @@ __imlib_FindImlibImagePixmapByID(Display * d, Pixmap p)
|
|||
}
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* free and image - if its uncachable and refcoutn is 0 - free it in reality */
|
||||
void
|
||||
|
@ -1211,6 +1231,7 @@ __imlib_FreeImage(ImlibImage * im)
|
|||
}
|
||||
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
/* free a cached pixmap */
|
||||
void
|
||||
__imlib_FreePixmap(Display * d, Pixmap p)
|
||||
|
@ -1245,9 +1266,9 @@ __imlib_FreePixmap(Display * d, Pixmap p)
|
|||
}
|
||||
}
|
||||
|
||||
/* mark all pixmaps generated from this image as diryt so the cache code */
|
||||
/* wont pick up on them again sicne they are now invalid sicn ehte original */
|
||||
/* data they were generated form has changed */
|
||||
/* mark all pixmaps generated from this image as dirty so the cache code */
|
||||
/* wont pick up on them again since they are now invalid since the original */
|
||||
/* data they were generated from has changed */
|
||||
void
|
||||
__imlib_DirtyPixmapsForImage(ImlibImage * im)
|
||||
{
|
||||
|
@ -1264,6 +1285,7 @@ __imlib_DirtyPixmapsForImage(ImlibImage * im)
|
|||
}
|
||||
__imlib_CleanupImagePixmapCache();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* dirty and image by settings its invalid flag */
|
||||
void
|
||||
|
|
19
src/image.h
19
src/image.h
|
@ -1,10 +1,17 @@
|
|||
#ifndef __IMAGE
|
||||
# define __IMAGE 1
|
||||
|
||||
#include "common.h"
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
|
||||
#include "ltdl.h" /* for lt_dlhandle definition */
|
||||
|
||||
typedef struct _imlibimage ImlibImage;
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
typedef struct _imlibimagepixmap ImlibImagePixmap;
|
||||
#endif
|
||||
typedef struct _imlibborder ImlibBorder;
|
||||
typedef struct _imlibloader ImlibLoader;
|
||||
typedef struct _imlibimagetag ImlibImageTag;
|
||||
|
@ -79,6 +86,7 @@ struct _imlibimage
|
|||
ImlibImageTag *tags;
|
||||
};
|
||||
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
struct _imlibimagepixmap
|
||||
{
|
||||
int w, h;
|
||||
|
@ -97,6 +105,7 @@ struct _imlibimagepixmap
|
|||
DATABIG modification_count;
|
||||
ImlibImagePixmap *next;
|
||||
};
|
||||
#endif
|
||||
|
||||
struct _imlibloader
|
||||
{
|
||||
|
@ -129,6 +138,7 @@ void __imlib_AddImageToCache(ImlibImage *im);
|
|||
void __imlib_RemoveImageFromCache(ImlibImage *im);
|
||||
int __imlib_CurrentCacheSize(void);
|
||||
void __imlib_CleanupImageCache(void);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ImlibImagePixmap *__imlib_ProduceImagePixmap(void);
|
||||
void __imlib_ConsumeImagePixmap(ImlibImagePixmap *ip);
|
||||
ImlibImagePixmap *__imlib_FindCachedImagePixmap(ImlibImage *im, int w, int h,
|
||||
|
@ -141,6 +151,7 @@ ImlibImagePixmap *__imlib_FindCachedImagePixmapByID(Display *d, Pixmap p);
|
|||
void __imlib_AddImagePixmapToCache(ImlibImagePixmap *ip);
|
||||
void __imlib_RemoveImagePixmapFromCache(ImlibImagePixmap *ip);
|
||||
void __imlib_CleanupImagePixmapCache(void);
|
||||
#endif
|
||||
ImlibLoader *__imlib_ProduceLoader(char *file);
|
||||
char **__imlib_ListLoaders(int *num_ret);
|
||||
char **__imlib_TrimLoaderList(char **list, int *num);
|
||||
|
@ -157,11 +168,19 @@ ImlibImage *__imlib_LoadImage(const char *file,
|
|||
ImlibProgressFunction progress,
|
||||
char progress_granularity, char immediate_load,
|
||||
char dont_cache, ImlibLoadError *er);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
ImlibImagePixmap *__imlib_FindImlibImagePixmapByID(Display *d, Pixmap p);
|
||||
#endif
|
||||
void __imlib_FreeImage(ImlibImage *im);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void __imlib_FreePixmap(Display *d, Pixmap p);
|
||||
#endif
|
||||
void __imlib_FlushCache(void);
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
void __imlib_DirtyPixmapsForImage(ImlibImage *im);
|
||||
#else
|
||||
#define __imlib_DirtyPixmapsForImage(x) /* x */
|
||||
#endif
|
||||
void __imlib_DirtyImage(ImlibImage *im);
|
||||
void __imlib_SaveImage(ImlibImage *im, const char *file,
|
||||
ImlibProgressFunction progress,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/extensions/XShm.h>
|
||||
#include "common.h"
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "scale.h"
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#include "common.h"
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include <X11/Xlib.h>
|
||||
#include "context.h"
|
||||
#endif
|
||||
#include "rgba.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
#include <X11/Xlib.h>
|
||||
#include <math.h>
|
||||
#include "common.h"
|
||||
#include <math.h>
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "scale.h"
|
||||
#include "context.h"
|
||||
#include "rgba.h"
|
||||
#include "blend.h"
|
||||
#include "updates.h"
|
||||
#include "rgbadraw.h"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#ifndef __ROTATE
|
||||
#define __ROTATE 1
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include "image.h"
|
||||
#include "colormod.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include "colormod.h"
|
||||
#include "image.h"
|
||||
#include "blend.h"
|
||||
|
|
|
@ -10,7 +10,9 @@
|
|||
#include <fcntl.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#ifndef X_DISPLAY_MISSING
|
||||
#include <X11/Xlib.h>
|
||||
#endif
|
||||
#include "Imlib2.h"
|
||||
#include "image.h"
|
||||
#include "file.h"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#include "common.h"
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/extensions/XShm.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <sys/ipc.h>
|
||||
#include <sys/shm.h>
|
||||
#include "common.h"
|
||||
#include "ximage.h"
|
||||
|
||||
/* static private variables */
|
||||
|
|
|
@ -14,16 +14,16 @@ INCLUDES = -I/usr/X11R6/include -I$(top_srcdir)/libltdl \
|
|||
bin_PROGRAMS = imlib2 bumpmaptest imlib2_test polytest
|
||||
imlib2_SOURCES = main.c
|
||||
imlib2_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf -lImlib2
|
||||
$(x_libs) -lttf -lImlib2
|
||||
|
||||
bumpmaptest_SOURCES = bmtest.c
|
||||
bumpmaptest_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf -lImlib2
|
||||
$(x_libs) -lttf -lImlib2
|
||||
|
||||
imlib2_test_SOURCES = imlib2_test.c
|
||||
imlib2_test_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf -lImlib2
|
||||
$(x_libs) -lttf -lImlib2
|
||||
|
||||
polytest_SOURCES = polytest.c
|
||||
polytest_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \
|
||||
-lX11 -lXext -lttf -lImlib2
|
||||
$(x_libs) -lttf -lImlib2
|
||||
|
|
Loading…
Reference in New Issue