File: gdkimlib.i

package info (click to toggle)
python-gtk 0.5.3-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,604 kB
  • ctags: 4,295
  • sloc: ansic: 19,390; python: 8,220; makefile: 91; sh: 26
file content (115 lines) | stat: -rw-r--r-- 4,457 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
%module _gdkimlib

%{
#include <gtk/gtk.h>
#include <gdk_imlib.h>
%}

%include gdkimlibmain.i
%include gdkimlibtypemap.i

int gdk_imlib_get_render_type();
void gdk_imlib_set_render_type(int rend_type);
int gdk_imlib_load_colors(char *file);
GdkImlibImage *gdk_imlib_load_image(char *file);
int gdk_imlib_render(GdkImlibImage *image, int width, int height);
void gdk_imlib_free_colors();
void gdk_imlib_get_image_border(GdkImlibImage *image, GdkImlibBorder *oborder);
void gdk_imlib_set_image_border(GdkImlibImage *image, GdkImlibBorder *border);
void gdk_imlib_get_image_shape(GdkImlibImage *image, GdkImlibColor *ocolor);
void gdk_imlib_set_image_shape(GdkImlibImage *image, GdkImlibColor *color);
int gdk_imlib_save_image_to_eim(GdkImlibImage *image, char *file);
int gdk_imlib_add_image_to_eim(GdkImlibImage *image, char *file);
int gdk_imlib_save_image_to_ppm(GdkImlibImage *image, char *file);
void gdk_imlib_set_image_modifier(GdkImlibImage *im,
				  GdkImlibColorModifier *mod);
void gdk_imlib_set_image_red_modifier(GdkImlibImage *im,
				      GdkImlibColorModifier *mod);
void gdk_imlib_set_image_green_modifier(GdkImlibImage *im,
					GdkImlibColorModifier *mod);
void gdk_imlib_set_image_blue_modifier(GdkImlibImage *im,
				       GdkImlibColorModifier *mod);
void gdk_imlib_get_image_modifier(GdkImlibImage *im,
				  GdkImlibColorModifier *omod);
void gdk_imlib_get_image_red_modifier(GdkImlibImage *im,
				      GdkImlibColorModifier *omod);
void gdk_imlib_get_image_green_modifier(GdkImlibImage *im,
					GdkImlibColorModifier *omod);
void gdk_imlib_get_image_blue_modifier(GdkImlibImage *im,
				       GdkImlibColorModifier *omod);

void gdk_imlib_set_image_red_curve(GdkImlibImage *im, char *mod);
void gdk_imlib_set_image_green_curve(GdkImlibImage *im, char *mod);
void gdk_imlib_set_image_blue_curve(GdkImlibImage *im, char *mod);
void gdk_imlib_get_image_red_curve(GdkImlibImage *im, char *omod);
void gdk_imlib_get_image_green_curve(GdkImlibImage *im, char *omod);
void gdk_imlib_get_image_blue_curve(GdkImlibImage *im, char *omod);

void gdk_imlib_apply_modifiers_to_rgb(GdkImlibImage *im);
void gdk_imlib_changed_image(GdkImlibImage *im);
void gdk_imlib_flip_image_horizontal(GdkImlibImage *im);
void gdk_imlib_flip_image_vertical(GdkImlibImage *im);
void gdk_imlib_rotate_image(GdkImlibImage *im, int d);
GdkImlibImage *gdk_imlib_clone_image(GdkImlibImage *im);
GdkImlibImage *gdk_imlib_clone_scaled_image(GdkImlibImage *im, int w, int h);
void gdk_imlib_crop_image(GdkImlibImage *im, int x, int y, int w, int h);
%{
#define gdk_imlib_save_image_default(im, file) \
  gdk_imlib_save_image(im, file,NULL);
%}
%name(gdk_imlib_save_image) int gdk_imlib_save_image_default(GdkImlibImage *im,
							     char *file);
int gdk_imlib_get_fallback();
void gdk_imlib_set_fallback(int fallback);
char *gdk_imlib_get_sysconfig();

%{
static PyObject *gdk__imlib_best_color_match(PyObject *self, PyObject *args) {
  int r, g, b;
  if (!PyArg_ParseTuple(args, "iii:gdk_imlib_best_color_match", &r, &g, &b))
    return NULL;
  gdk_imlib_best_color_match(&r, &g, &b);
  return Py_BuildValue("(iii)", r, g, b);
}

static PyObject *gdk__imlib_make_pixmap(PyObject *self, PyObject *args) {
  GtkWidget *w;
  GdkPixmap *p;
  GdkBitmap *b;
  PyGdkImlibImage_Object *o;
  PyObject *ret;
  if (!PyArg_ParseTuple(args, "O!:gdk_imlib_make_pixmap",
			&PyGdkImlibImage_Type, &o))
    return NULL;
  p = gdk_imlib_move_image(PyGdkImlibImage_Get(o));
  b = gdk_imlib_move_mask(PyGdkImlibImage_Get(o));

  /* make the pixmap widget use imlib's visual and colormap */
  gtk_widget_push_visual(gdk_imlib_get_visual());
  gtk_widget_push_colormap(gdk_imlib_get_colormap());

  w = gtk_pixmap_new(p, b);

  /* pop imlib's visual and colormap */
  gtk_widget_pop_visual();
  gtk_widget_pop_colormap();

  gdk_imlib_free_pixmap(p);
  ret = PyGtk_New(GTK_OBJECT(w));
  if (ret == NULL)
    gtk_widget_unref(w);
  return ret;
}

#define gdk_imlib_get_rgb_width(im)  ((im)->rgb_width)
#define gdk_imlib_get_rgb_height(im) ((im)->rgb_height)
#define gdk_imlib_get_filename(im)   ((im)->filename)

%}
%native(gdk_imlib_best_color_match) PyObject *gdk__imlib_best_color_match(
					  PyObject *self, PyObject *args);
%native(gdk_imlib_make_pixmap) PyObject *gdk__imlib_make_pixmap(
					  PyObject *self, PyObject *args);
int gdk_imlib_get_rgb_width(GdkImlibImage *im);
int gdk_imlib_get_rgb_height(GdkImlibImage *im);
char *gdk_imlib_get_filename(GdkImlibImage *im);