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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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>
|
||||
|
||||
* 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 ();
|
||||
|
||||
while (event = gdk_event_unqueue ())
|
||||
while ((event = gdk_event_unqueue ()))
|
||||
{
|
||||
if (event->type == GDK_EXPOSE &&
|
||||
event->expose.window == gdk_parent_root)
|
||||
|
@ -74,15 +74,19 @@ _gdk_fb_gc_new (GdkDrawable *drawable,
|
||||
GdkGCValuesMask values_mask)
|
||||
{
|
||||
GdkGC *gc;
|
||||
GdkGC *private;
|
||||
GdkGCFBData *data;
|
||||
GdkGCFBData *private;
|
||||
|
||||
gc = GDK_GC (g_object_new (gdk_gc_fb_get_type (), NULL));
|
||||
private = (GdkGC *)gc;
|
||||
|
||||
data = (GdkGCFBData *)gc;
|
||||
data->values.foreground.pixel = 255;
|
||||
data->values.foreground.red = data->values.foreground.green = data->values.foreground.blue = 65535;
|
||||
private = (GdkGCFBData *)gc;
|
||||
|
||||
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);
|
||||
|
||||
@ -259,6 +263,8 @@ gdk_fb_gc_set_values (GdkGC *gc,
|
||||
private->values.join_style = values->join_style;
|
||||
private->values_mask |= GDK_GC_JOIN_STYLE;
|
||||
}
|
||||
|
||||
_gdk_fb_gc_calc_state (gc, values_mask);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -298,6 +304,8 @@ gc_unset_cmask(GdkGC *gc)
|
||||
data->values.clip_mask = NULL;
|
||||
data->values_mask &= ~ GDK_GC_CLIP_MASK;
|
||||
}
|
||||
|
||||
_gdk_fb_gc_calc_state (gc, GDK_GC_CLIP_MASK);
|
||||
}
|
||||
|
||||
void
|
||||
@ -326,6 +334,8 @@ gdk_gc_set_clip_rectangle (GdkGC *gc,
|
||||
data->values.clip_y_origin = 0;
|
||||
|
||||
gc_unset_cmask (gc);
|
||||
|
||||
_gdk_fb_gc_calc_state (gc, GDK_GC_CLIP_X_ORIGIN|GDK_GC_CLIP_Y_ORIGIN);
|
||||
}
|
||||
|
||||
void
|
||||
@ -357,6 +367,8 @@ gdk_gc_set_clip_region (GdkGC *gc,
|
||||
data->values.clip_y_origin = 0;
|
||||
|
||||
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;
|
||||
GdkFBDisplay *gdk_display = NULL;
|
||||
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;
|
||||
|
||||
gdk_fb_draw_drawable_2 ((GdkPixmap *)&fbd,
|
||||
NULL,
|
||||
_gdk_fb_screen_gc,
|
||||
drawable,
|
||||
x, y,
|
||||
0, 0,
|
||||
|
@ -57,6 +57,8 @@
|
||||
typedef struct _GdkDrawableFBData GdkDrawableFBData;
|
||||
typedef struct _GdkWindowFBData GdkWindowFBData;
|
||||
typedef struct _GdkPixmapFBData GdkPixmapFBData;
|
||||
typedef struct _GdkFBDrawingContext GdkFBDrawingContext;
|
||||
|
||||
#define GDK_DRAWABLE_PIXMAP (GDK_WINDOW_FOREIGN+1)
|
||||
|
||||
struct _GdkDrawableFBData
|
||||
@ -161,6 +163,36 @@ typedef struct {
|
||||
#define GDK_GC_FBDATA(x) ((GdkGCFBData *)(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 {
|
||||
GdkGC parent_instance;
|
||||
|
||||
@ -170,48 +202,88 @@ typedef struct {
|
||||
GdkGCValues values;
|
||||
gint dash_offset;
|
||||
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;
|
||||
|
||||
typedef struct {
|
||||
GdkGCClass parent_class;
|
||||
} GdkGCFBClass;
|
||||
|
||||
|
||||
extern GdkGC *_gdk_fb_screen_gc;
|
||||
|
||||
GType gdk_gc_fb_get_type (void) G_GNUC_CONST;
|
||||
|
||||
/* Routines from gdkgeometry-fb.c */
|
||||
|
||||
void _gdk_window_init_position (GdkWindow *window);
|
||||
void _gdk_window_move_resize_child (GdkWindow *window,
|
||||
gint x,
|
||||
gint y,
|
||||
gint width,
|
||||
gint height);
|
||||
void _gdk_window_process_expose (GdkWindow *window,
|
||||
gulong serial,
|
||||
GdkRectangle *area);
|
||||
void gdk_window_invalidate_region_clear(GdkWindow *window, GdkRegion *region);
|
||||
void gdk_window_invalidate_rect_clear(GdkWindow *window, GdkRectangle *rect);
|
||||
GdkGC *_gdk_fb_gc_new(GdkDrawable *drawable, GdkGCValues *values, GdkGCValuesMask values_mask);
|
||||
void _gdk_window_init_position (GdkWindow *window);
|
||||
void _gdk_window_move_resize_child (GdkWindow *window,
|
||||
gint x,
|
||||
gint y,
|
||||
gint width,
|
||||
gint height);
|
||||
void _gdk_window_process_expose (GdkWindow *window,
|
||||
gulong serial,
|
||||
GdkRectangle *area);
|
||||
void gdk_window_invalidate_region_clear (GdkWindow *window,
|
||||
GdkRegion *region);
|
||||
void gdk_window_invalidate_rect_clear (GdkWindow *window,
|
||||
GdkRectangle *rect);
|
||||
|
||||
GdkImage*_gdk_fb_get_image (GdkDrawable *drawable,
|
||||
gint x,
|
||||
gint y,
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
void gdk_fb_drawable_clear (GdkDrawable *drawable);
|
||||
void gdk_fb_draw_drawable (GdkDrawable *drawable,
|
||||
GdkGC *gc,
|
||||
GdkPixmap *src,
|
||||
gint xsrc,
|
||||
gint ysrc,
|
||||
gint xdest,
|
||||
gint ydest,
|
||||
gint width,
|
||||
gint height);
|
||||
GdkGC * _gdk_fb_gc_new (GdkDrawable *drawable,
|
||||
GdkGCValues *values,
|
||||
GdkGCValuesMask values_mask);
|
||||
|
||||
typedef struct {
|
||||
#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 y,
|
||||
gint width,
|
||||
gint height);
|
||||
void gdk_fb_drawable_clear (GdkDrawable *drawable);
|
||||
void gdk_fb_draw_drawable (GdkDrawable *drawable,
|
||||
GdkGC *gc,
|
||||
GdkPixmap *src,
|
||||
gint xsrc,
|
||||
gint ysrc,
|
||||
gint xdest,
|
||||
gint ydest,
|
||||
gint width,
|
||||
gint height);
|
||||
|
||||
struct _GdkFBDrawingContext {
|
||||
GdkWindow *bg_relto;
|
||||
GdkPixmap *bgpm;
|
||||
|
||||
@ -226,7 +298,7 @@ typedef struct {
|
||||
gboolean draw_bg : 1;
|
||||
gboolean copy_region : 1;
|
||||
gboolean handle_cursor : 1;
|
||||
} GdkFBDrawingContext;
|
||||
};
|
||||
|
||||
void gdk_fb_drawing_context_init(GdkFBDrawingContext *dc, GdkDrawable *drawable,
|
||||
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_y = attr.height;
|
||||
|
||||
_gdk_fb_screen_gc = gdk_gc_new (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;
|
||||
|
||||
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,
|
||||
(reg->x1 - dx),
|
||||
(reg->y1 - dy),
|
||||
@ -1018,7 +1023,7 @@ _gdk_windowing_window_clear_area (GdkWindow *window,
|
||||
xstep = GDK_DRAWABLE_IMPL_FBDATA (bgpm)->width - draww;
|
||||
|
||||
gdk_fb_draw_drawable_3 (GDK_DRAWABLE_IMPL (window),
|
||||
NULL,
|
||||
_gdk_fb_screen_gc,
|
||||
GDK_DRAWABLE_IMPL (bgpm),
|
||||
&fbdc,
|
||||
draww, drawh,
|
||||
@ -1030,7 +1035,7 @@ _gdk_windowing_window_clear_area (GdkWindow *window,
|
||||
gdk_fb_drawing_context_finalize (&fbdc);
|
||||
}
|
||||
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? */
|
||||
|
@ -23,16 +23,9 @@ typedef struct _miDash *miDashPtr;
|
||||
#define CT_YXSORTED 14
|
||||
#define CT_YXBANDED 18
|
||||
|
||||
typedef union {
|
||||
guint32 val;
|
||||
gpointer ptr;
|
||||
} ChangeGCVal, *ChangeGCValPtr;
|
||||
|
||||
#define PixmapBytePad(w, d) (w)
|
||||
#define BitmapBytePad(w) (w)
|
||||
|
||||
typedef GdkSegment BoxRec, *BoxPtr;
|
||||
|
||||
typedef struct _miArc {
|
||||
gint16 x, y;
|
||||
guint16 width, height;
|
||||
|
Loading…
Reference in New Issue
Block a user