diff options
author | Alexander Larsson <alexl@src.gnome.org> | 2000-11-22 10:07:34 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2000-11-22 10:07:34 +0000 |
commit | 5b4c8afa7ef1072e84b1e07597412f2bfee3a99c (patch) | |
tree | 90ff8bf6e5beb8c396c7f6c7c3698a517ae60d46 /gdk/gdkregion.h | |
parent | c76c5f4857b05ac5a2cc2b01201ee7c97f4a74be (diff) | |
download | gtk+-5b4c8afa7ef1072e84b1e07597412f2bfee3a99c.tar.gz |
i2000-11-22 Alexander Larsson <alexl@redhat.com>
* gdk/gdktypes.h:
Add new type GdkSpan
* docs/reference/gdk/gdk-sections.txt,
docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
gdk/gdkregion.h:
Implement and document gdk_region_spans_intersect_foreach.
* gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
Add new file gdkrender-fb.c which contains all core
rendering code.
Add gdk_fb_fill_rectangle_generic (old rectangle code) and
gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
(optimized rectangle fillers).
* gdk/linux-fb/gdkdrawable-fb2.c:
Move all rendering code to gdkrender-fb.c.
Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
Use the new span intersection functions in gdk_fb_fill_spans.
gdk_fb_draw_rectangle() clips filled rectangles and calls
gc->fill_rectangle with the result.
gdk_fb_fill_spans() gets extra argument "sorted".
* gdk/linux-fb/gdkevents-fb.c:
Remove unused includes and defines.
New function gdk_fb_get_time() to get correct time for events.
* gdk/linux-fb/gdkinput-ps2.c:
Use gdk method of generating multiple-clicks (gdk_event_button_generate)
Make sure to set the time of all events.
* gdk/linux-fb/gdkmain-fb.c:
Use gdk_fb_get_time ().
* gdk/linux-fb/gdkprivate-fb.h:
New virtual GC calls: fill_span & fill_rectangle.
Export gdk_fb_get_time().
gdk_fb_fill_spans() gets extra argument "sorted".
* gdk/linux-fb/mi*.c:
Use GdkSpan instead of GdkRectangle.
Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
from XFree 4 source)
Diffstat (limited to 'gdk/gdkregion.h')
-rw-r--r-- | gdk/gdkregion.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gdk/gdkregion.h b/gdk/gdkregion.h index 2551797a85..ad20a65817 100644 --- a/gdk/gdkregion.h +++ b/gdk/gdkregion.h @@ -29,6 +29,9 @@ typedef enum GDK_OVERLAP_RECTANGLE_PART } GdkOverlapType; +typedef void (*GdkSpanFunc) (GdkSpan *span, + gpointer data); + GdkRegion *gdk_region_new (void); GdkRegion *gdk_region_polygon (GdkPoint *points, gint npoints, @@ -66,8 +69,16 @@ void gdk_region_subtract (GdkRegion *source1, void gdk_region_xor (GdkRegion *source1, GdkRegion *source2); +void gdk_region_spans_intersect_foreach (GdkRegion *region, + GdkSpan *spans, + int n_spans, + gboolean sorted, + GdkSpanFunc function, + gpointer data); + #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GDK_REGION_H__ */ + |