forked from AuroraMiddleware/gtk
Added virtual functions set_pixel, get_color, fill_span and draw_drawable
2000-11-15 Alexander Larsson <alla@lysator.liu.se> * gdk/linux-fb/gdkprivate-fb.h: Added virtual functions set_pixel, get_color, fill_span and draw_drawable to the GC. Added global _gdk_fb_screen_gc to use instead of NULL when drawing to the screen. Added _gdk_fb_gc_calc_state() prototype. * gdk/linux-fb/gdkgc-fb.c: Call _gdk_fb_gc_calc_state() on any gc state change. * gdk/linux-fb/gdkglobals-fb.c: Add _gdk_fb_screen_gc * gdk/linux-fb/gdkdrawable-fb2.c: _gdk_fb_gc_calc_state() calculates best functions for the GC state and depth. Moved bpp specialized code to separate functions. Added optimized 24 bpp AA draw_drawable. * gdk/linux-fb/gdkevents-fb.c: Silence gcc warning. * gdk/linux-fb/gdkimage-fb.c: Use _gdk_fb_screen_gc * gdk/linux-fb/gdkwindow-fb.c: Init and use _gdk_fb_screen_gc * gdk/linux-fb/mitypes.h: Remove unused types.
This commit is contained in:
parent
376d6c1914
commit
2eb744a3c4
33
ChangeLog
33
ChangeLog
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
@ -1,3 +1,36 @@
|
|||||||
|
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkprivate-fb.h:
|
||||||
|
Added virtual functions set_pixel, get_color,
|
||||||
|
fill_span and draw_drawable to the GC.
|
||||||
|
Added global _gdk_fb_screen_gc to use instead of
|
||||||
|
NULL when drawing to the screen.
|
||||||
|
Added _gdk_fb_gc_calc_state() prototype.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkgc-fb.c:
|
||||||
|
Call _gdk_fb_gc_calc_state() on any gc state change.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkglobals-fb.c:
|
||||||
|
Add _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkdrawable-fb2.c:
|
||||||
|
_gdk_fb_gc_calc_state() calculates best functions
|
||||||
|
for the GC state and depth.
|
||||||
|
Moved bpp specialized code to separate functions.
|
||||||
|
Added optimized 24 bpp AA draw_drawable.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkevents-fb.c:
|
||||||
|
Silence gcc warning.
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkimage-fb.c:
|
||||||
|
Use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/gdkwindow-fb.c:
|
||||||
|
Init and use _gdk_fb_screen_gc
|
||||||
|
|
||||||
|
* gdk/linux-fb/mitypes.h:
|
||||||
|
Remove unused types.
|
||||||
|
|
||||||
2000-11-14 Havoc Pennington <hp@pobox.com>
|
2000-11-14 Havoc Pennington <hp@pobox.com>
|
||||||
|
|
||||||
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
* gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -204,7 +204,7 @@ fb_events_dispatch (gpointer source_data,
|
|||||||
|
|
||||||
GDK_THREADS_ENTER ();
|
GDK_THREADS_ENTER ();
|
||||||
|
|
||||||
while (event = gdk_event_unqueue ())
|
while ((event = gdk_event_unqueue ()))
|
||||||
{
|
{
|
||||||
if (event->type == GDK_EXPOSE &&
|
if (event->type == GDK_EXPOSE &&
|
||||||
event->expose.window == gdk_parent_root)
|
event->expose.window == gdk_parent_root)
|
||||||
|
@ -74,15 +74,19 @@ _gdk_fb_gc_new (GdkDrawable *drawable,
|
|||||||
GdkGCValuesMask values_mask)
|
GdkGCValuesMask values_mask)
|
||||||
{
|
{
|
||||||
GdkGC *gc;
|
GdkGC *gc;
|
||||||
GdkGC *private;
|
GdkGCFBData *private;
|
||||||
GdkGCFBData *data;
|
|
||||||
|
|
||||||
gc = GDK_GC (g_object_new (gdk_gc_fb_get_type (), NULL));
|
gc = GDK_GC (g_object_new (gdk_gc_fb_get_type (), NULL));
|
||||||
private = (GdkGC *)gc;
|
|
||||||
|
|
||||||
data = (GdkGCFBData *)gc;
|
private = (GdkGCFBData *)gc;
|
||||||
data->values.foreground.pixel = 255;
|
|
||||||
data->values.foreground.red = data->values.foreground.green = data->values.foreground.blue = 65535;
|
private->depth = GDK_DRAWABLE_FBDATA (drawable)->depth;
|
||||||
|
private->values.foreground.pixel = 255;
|
||||||
|
private->values.foreground.red =
|
||||||
|
private->values.foreground.green =
|
||||||
|
private->values.foreground.blue = 65535;
|
||||||
|
|
||||||
|
_gdk_fb_gc_calc_state (gc, _GDK_FB_GC_DEPTH);
|
||||||
|
|
||||||
gdk_fb_gc_set_values (gc, values, values_mask);
|
gdk_fb_gc_set_values (gc, values, values_mask);
|
||||||
|
|
||||||
@ -259,6 +263,8 @@ gdk_fb_gc_set_values (GdkGC *gc,
|
|||||||
private->values.join_style = values->join_style;
|
private->values.join_style = values->join_style;
|
||||||
private->values_mask |= GDK_GC_JOIN_STYLE;
|
private->values_mask |= GDK_GC_JOIN_STYLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_gdk_fb_gc_calc_state (gc, values_mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -298,6 +304,8 @@ gc_unset_cmask(GdkGC *gc)
|
|||||||
data->values.clip_mask = NULL;
|
data->values.clip_mask = NULL;
|
||||||
data->values_mask &= ~ GDK_GC_CLIP_MASK;
|
data->values_mask &= ~ GDK_GC_CLIP_MASK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_gdk_fb_gc_calc_state (gc, GDK_GC_CLIP_MASK);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -326,6 +334,8 @@ gdk_gc_set_clip_rectangle (GdkGC *gc,
|
|||||||
data->values.clip_y_origin = 0;
|
data->values.clip_y_origin = 0;
|
||||||
|
|
||||||
gc_unset_cmask (gc);
|
gc_unset_cmask (gc);
|
||||||
|
|
||||||
|
_gdk_fb_gc_calc_state (gc, GDK_GC_CLIP_X_ORIGIN|GDK_GC_CLIP_Y_ORIGIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -357,6 +367,8 @@ gdk_gc_set_clip_region (GdkGC *gc,
|
|||||||
data->values.clip_y_origin = 0;
|
data->values.clip_y_origin = 0;
|
||||||
|
|
||||||
gc_unset_cmask (gc);
|
gc_unset_cmask (gc);
|
||||||
|
|
||||||
|
_gdk_fb_gc_calc_state (gc, GDK_GC_CLIP_X_ORIGIN|GDK_GC_CLIP_Y_ORIGIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,3 +39,4 @@ GdkEventMask _gdk_fb_pointer_grab_events, _gdk_fb_keyboard_grab_events;
|
|||||||
GdkFBWindow *gdk_root_window = NULL;
|
GdkFBWindow *gdk_root_window = NULL;
|
||||||
GdkFBDisplay *gdk_display = NULL;
|
GdkFBDisplay *gdk_display = NULL;
|
||||||
GdkCursor *_gdk_fb_pointer_grab_cursor;
|
GdkCursor *_gdk_fb_pointer_grab_cursor;
|
||||||
|
GdkGC *_gdk_fb_screen_gc = NULL;
|
||||||
|
@ -201,7 +201,7 @@ _gdk_fb_get_image (GdkDrawable *drawable,
|
|||||||
fbd.drawable_data.window_type = GDK_DRAWABLE_PIXMAP;
|
fbd.drawable_data.window_type = GDK_DRAWABLE_PIXMAP;
|
||||||
|
|
||||||
gdk_fb_draw_drawable_2 ((GdkPixmap *)&fbd,
|
gdk_fb_draw_drawable_2 ((GdkPixmap *)&fbd,
|
||||||
NULL,
|
_gdk_fb_screen_gc,
|
||||||
drawable,
|
drawable,
|
||||||
x, y,
|
x, y,
|
||||||
0, 0,
|
0, 0,
|
||||||
|
@ -57,6 +57,8 @@
|
|||||||
typedef struct _GdkDrawableFBData GdkDrawableFBData;
|
typedef struct _GdkDrawableFBData GdkDrawableFBData;
|
||||||
typedef struct _GdkWindowFBData GdkWindowFBData;
|
typedef struct _GdkWindowFBData GdkWindowFBData;
|
||||||
typedef struct _GdkPixmapFBData GdkPixmapFBData;
|
typedef struct _GdkPixmapFBData GdkPixmapFBData;
|
||||||
|
typedef struct _GdkFBDrawingContext GdkFBDrawingContext;
|
||||||
|
|
||||||
#define GDK_DRAWABLE_PIXMAP (GDK_WINDOW_FOREIGN+1)
|
#define GDK_DRAWABLE_PIXMAP (GDK_WINDOW_FOREIGN+1)
|
||||||
|
|
||||||
struct _GdkDrawableFBData
|
struct _GdkDrawableFBData
|
||||||
@ -161,6 +163,36 @@ typedef struct {
|
|||||||
#define GDK_GC_FBDATA(x) ((GdkGCFBData *)(x))
|
#define GDK_GC_FBDATA(x) ((GdkGCFBData *)(x))
|
||||||
#define GDK_GC_P(x) ((GdkGC *)(x))
|
#define GDK_GC_P(x) ((GdkGC *)(x))
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GPR_USED_BG,
|
||||||
|
GPR_AA_GRAYVAL,
|
||||||
|
GPR_NONE,
|
||||||
|
GPR_ERR_BOUNDS
|
||||||
|
} GetPixelRet;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
GDK_FB_SRC_BPP_1,
|
||||||
|
GDK_FB_SRC_BPP_8,
|
||||||
|
GDK_FB_SRC_BPP_16,
|
||||||
|
GDK_FB_SRC_BPP_24,
|
||||||
|
GDK_FB_SRC_BPP_32,
|
||||||
|
GDK_FB_SRC_BPP_7_AA_GRAYVAL,
|
||||||
|
GDK_FB_SRC_BPP_8_AA_GRAYVAL,
|
||||||
|
GDK_NUM_FB_SRCBPP
|
||||||
|
} GdkFbSrcBPP;
|
||||||
|
|
||||||
|
typedef void gdk_fb_draw_drawable_func (GdkDrawable *drawable,
|
||||||
|
GdkGC *gc,
|
||||||
|
GdkPixmap *src,
|
||||||
|
GdkFBDrawingContext *dc,
|
||||||
|
gint start_y,
|
||||||
|
gint end_y,
|
||||||
|
gint start_x,
|
||||||
|
gint end_x,
|
||||||
|
gint src_x_off,
|
||||||
|
gint src_y_off,
|
||||||
|
gint draw_direction);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
GdkGC parent_instance;
|
GdkGC parent_instance;
|
||||||
|
|
||||||
@ -170,13 +202,45 @@ typedef struct {
|
|||||||
GdkGCValues values;
|
GdkGCValues values;
|
||||||
gint dash_offset;
|
gint dash_offset;
|
||||||
gushort dash_list_len;
|
gushort dash_list_len;
|
||||||
guchar depth, alu;
|
guchar alu;
|
||||||
|
|
||||||
|
/* The GC can only be used with target drawables of
|
||||||
|
* the same depth as the initial drawable
|
||||||
|
* specified in gd_gc_new().
|
||||||
|
*/
|
||||||
|
guchar depth;
|
||||||
|
|
||||||
|
/* Calculated state: */
|
||||||
|
/* These functions can only be called for drawables
|
||||||
|
* that have the same depth as the gc.
|
||||||
|
*/
|
||||||
|
void (*set_pixel) (GdkDrawable *drawable,
|
||||||
|
GdkGC *gc,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
gulong pixel);
|
||||||
|
|
||||||
|
GetPixelRet (*get_color) (GdkDrawable *drawable,
|
||||||
|
GdkGC *gc,
|
||||||
|
int x,
|
||||||
|
int y,
|
||||||
|
GdkColor *color);
|
||||||
|
|
||||||
|
void (*fill_span) (GdkDrawable *drawable,
|
||||||
|
GdkGC *gc,
|
||||||
|
GdkSegment *cur,
|
||||||
|
GdkColor *color);
|
||||||
|
|
||||||
|
gdk_fb_draw_drawable_func *draw_drawable[GDK_NUM_FB_SRCBPP];
|
||||||
} GdkGCFBData;
|
} GdkGCFBData;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
GdkGCClass parent_class;
|
GdkGCClass parent_class;
|
||||||
} GdkGCFBClass;
|
} GdkGCFBClass;
|
||||||
|
|
||||||
|
|
||||||
|
extern GdkGC *_gdk_fb_screen_gc;
|
||||||
|
|
||||||
GType gdk_gc_fb_get_type (void) G_GNUC_CONST;
|
GType gdk_gc_fb_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
/* Routines from gdkgeometry-fb.c */
|
/* Routines from gdkgeometry-fb.c */
|
||||||
@ -190,16 +254,24 @@ void _gdk_window_move_resize_child (GdkWindow *window,
|
|||||||
void _gdk_window_process_expose (GdkWindow *window,
|
void _gdk_window_process_expose (GdkWindow *window,
|
||||||
gulong serial,
|
gulong serial,
|
||||||
GdkRectangle *area);
|
GdkRectangle *area);
|
||||||
void gdk_window_invalidate_region_clear(GdkWindow *window, GdkRegion *region);
|
void gdk_window_invalidate_region_clear (GdkWindow *window,
|
||||||
void gdk_window_invalidate_rect_clear(GdkWindow *window, GdkRectangle *rect);
|
GdkRegion *region);
|
||||||
GdkGC *_gdk_fb_gc_new(GdkDrawable *drawable, GdkGCValues *values, GdkGCValuesMask values_mask);
|
void gdk_window_invalidate_rect_clear (GdkWindow *window,
|
||||||
|
GdkRectangle *rect);
|
||||||
|
|
||||||
GdkImage*_gdk_fb_get_image (GdkDrawable *drawable,
|
GdkGC * _gdk_fb_gc_new (GdkDrawable *drawable,
|
||||||
|
GdkGCValues *values,
|
||||||
|
GdkGCValuesMask values_mask);
|
||||||
|
|
||||||
|
#define _GDK_FB_GC_DEPTH (1<<31)
|
||||||
|
void _gdk_fb_gc_calc_state (GdkGC *gc,
|
||||||
|
GdkGCValuesMask changed);
|
||||||
|
|
||||||
|
GdkImage *_gdk_fb_get_image (GdkDrawable *drawable,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint width,
|
gint width,
|
||||||
gint height);
|
gint height);
|
||||||
|
|
||||||
void gdk_fb_drawable_clear (GdkDrawable *drawable);
|
void gdk_fb_drawable_clear (GdkDrawable *drawable);
|
||||||
void gdk_fb_draw_drawable (GdkDrawable *drawable,
|
void gdk_fb_draw_drawable (GdkDrawable *drawable,
|
||||||
GdkGC *gc,
|
GdkGC *gc,
|
||||||
@ -211,7 +283,7 @@ void gdk_fb_draw_drawable (GdkDrawable *drawable,
|
|||||||
gint width,
|
gint width,
|
||||||
gint height);
|
gint height);
|
||||||
|
|
||||||
typedef struct {
|
struct _GdkFBDrawingContext {
|
||||||
GdkWindow *bg_relto;
|
GdkWindow *bg_relto;
|
||||||
GdkPixmap *bgpm;
|
GdkPixmap *bgpm;
|
||||||
|
|
||||||
@ -226,7 +298,7 @@ typedef struct {
|
|||||||
gboolean draw_bg : 1;
|
gboolean draw_bg : 1;
|
||||||
gboolean copy_region : 1;
|
gboolean copy_region : 1;
|
||||||
gboolean handle_cursor : 1;
|
gboolean handle_cursor : 1;
|
||||||
} GdkFBDrawingContext;
|
};
|
||||||
|
|
||||||
void gdk_fb_drawing_context_init(GdkFBDrawingContext *dc, GdkDrawable *drawable,
|
void gdk_fb_drawing_context_init(GdkFBDrawingContext *dc, GdkDrawable *drawable,
|
||||||
GdkGC *gc, gboolean draw_bg, gboolean do_clipping);
|
GdkGC *gc, gboolean draw_bg, gboolean do_clipping);
|
||||||
|
@ -135,6 +135,9 @@ _gdk_windowing_window_init (void)
|
|||||||
|
|
||||||
GDK_DRAWABLE_IMPL_FBDATA (gdk_parent_root)->lim_x = attr.width;
|
GDK_DRAWABLE_IMPL_FBDATA (gdk_parent_root)->lim_x = attr.width;
|
||||||
GDK_DRAWABLE_IMPL_FBDATA (gdk_parent_root)->lim_y = attr.height;
|
GDK_DRAWABLE_IMPL_FBDATA (gdk_parent_root)->lim_y = attr.height;
|
||||||
|
|
||||||
|
_gdk_fb_screen_gc = gdk_gc_new (gdk_parent_root);
|
||||||
|
|
||||||
gdk_fb_drawable_clear (gdk_parent_root);
|
gdk_fb_drawable_clear (gdk_parent_root);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -871,7 +874,9 @@ gdk_fb_window_move_resize (GdkWindow *window,
|
|||||||
{
|
{
|
||||||
GdkRegionBox *reg = ltmp->data;
|
GdkRegionBox *reg = ltmp->data;
|
||||||
|
|
||||||
gdk_fb_draw_drawable_3 (GDK_DRAWABLE_IMPL(gdk_parent_root), NULL, GDK_DRAWABLE_IMPL(gdk_parent_root),
|
gdk_fb_draw_drawable_3 (GDK_DRAWABLE_IMPL(gdk_parent_root),
|
||||||
|
_gdk_fb_screen_gc,
|
||||||
|
GDK_DRAWABLE_IMPL(gdk_parent_root),
|
||||||
&fbdc,
|
&fbdc,
|
||||||
(reg->x1 - dx),
|
(reg->x1 - dx),
|
||||||
(reg->y1 - dy),
|
(reg->y1 - dy),
|
||||||
@ -1018,7 +1023,7 @@ _gdk_windowing_window_clear_area (GdkWindow *window,
|
|||||||
xstep = GDK_DRAWABLE_IMPL_FBDATA (bgpm)->width - draww;
|
xstep = GDK_DRAWABLE_IMPL_FBDATA (bgpm)->width - draww;
|
||||||
|
|
||||||
gdk_fb_draw_drawable_3 (GDK_DRAWABLE_IMPL (window),
|
gdk_fb_draw_drawable_3 (GDK_DRAWABLE_IMPL (window),
|
||||||
NULL,
|
_gdk_fb_screen_gc,
|
||||||
GDK_DRAWABLE_IMPL (bgpm),
|
GDK_DRAWABLE_IMPL (bgpm),
|
||||||
&fbdc,
|
&fbdc,
|
||||||
draww, drawh,
|
draww, drawh,
|
||||||
@ -1030,7 +1035,7 @@ _gdk_windowing_window_clear_area (GdkWindow *window,
|
|||||||
gdk_fb_drawing_context_finalize (&fbdc);
|
gdk_fb_drawing_context_finalize (&fbdc);
|
||||||
}
|
}
|
||||||
else if (!bgpm)
|
else if (!bgpm)
|
||||||
gdk_fb_draw_rectangle (GDK_DRAWABLE_IMPL (window), NULL, TRUE, x, y, width, height);
|
gdk_fb_draw_rectangle (GDK_DRAWABLE_IMPL (window), _gdk_fb_screen_gc, TRUE, x, y, width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* What's the diff? */
|
/* What's the diff? */
|
||||||
|
@ -23,16 +23,9 @@ typedef struct _miDash *miDashPtr;
|
|||||||
#define CT_YXSORTED 14
|
#define CT_YXSORTED 14
|
||||||
#define CT_YXBANDED 18
|
#define CT_YXBANDED 18
|
||||||
|
|
||||||
typedef union {
|
|
||||||
guint32 val;
|
|
||||||
gpointer ptr;
|
|
||||||
} ChangeGCVal, *ChangeGCValPtr;
|
|
||||||
|
|
||||||
#define PixmapBytePad(w, d) (w)
|
#define PixmapBytePad(w, d) (w)
|
||||||
#define BitmapBytePad(w) (w)
|
#define BitmapBytePad(w) (w)
|
||||||
|
|
||||||
typedef GdkSegment BoxRec, *BoxPtr;
|
|
||||||
|
|
||||||
typedef struct _miArc {
|
typedef struct _miArc {
|
||||||
gint16 x, y;
|
gint16 x, y;
|
||||||
guint16 width, height;
|
guint16 width, height;
|
||||||
|
Loading…
Reference in New Issue
Block a user