From 58ad73bfc8223acef4ad5f0de1c2884d45692a04 Mon Sep 17 00:00:00 2001 From: Ole Loots Date: Tue, 1 Mar 2011 19:29:40 +0000 Subject: Adjusted clipping rect changes for atari fronted. svn path=/trunk/netsurf/; revision=11875 --- atari/plot/plotter.c | 14 +++++++------- atari/plot/plotter.h | 16 ++++++---------- atari/plot/plotter_vdi.c | 18 +++++++++++------- 3 files changed, 24 insertions(+), 24 deletions(-) (limited to 'atari') diff --git a/atari/plot/plotter.c b/atari/plot/plotter.c index f645af483..62fb10918 100755 --- a/atari/plot/plotter.c +++ b/atari/plot/plotter.c @@ -683,7 +683,7 @@ short rgb_to_666_index(unsigned char r, unsigned char g, unsigned char b) } /* Shared (static in object oriented slang) plotter functions: */ -int plotter_get_clip( GEM_PLOTTER self, struct s_clipping * out ) +int plotter_get_clip( GEM_PLOTTER self, struct rect * out ) { out->x0 = self->clipping.x0; out->y0 = self->clipping.y0; @@ -692,12 +692,12 @@ int plotter_get_clip( GEM_PLOTTER self, struct s_clipping * out ) return( 1 ); } -int plotter_std_clip(GEM_PLOTTER self,int x0, int y0, int x1, int y1) +int plotter_std_clip(GEM_PLOTTER self, const struct rect * clip) { - self->clipping.x0 = x0; - self->clipping.y0 = y0; - self->clipping.x1 = x1; - self->clipping.y1 = y1; + self->clipping.x0 = clip->x0; + self->clipping.y0 = clip->y0; + self->clipping.x1 = clip->x1; + self->clipping.y1 = clip->y1; return ( 1 ); } @@ -706,7 +706,7 @@ void plotter_vdi_clip( GEM_PLOTTER self, bool set) { return; if( set == true ) { - struct s_clipping * c = &self->clipping; + struct rect * c = &self->clipping; short vdiflags[58]; short newclip[4]; vq_extnd( self->vdi_handle, 1, (short*)&vdiflags); diff --git a/atari/plot/plotter.h b/atari/plot/plotter.h index 7bca2c200..78f75d7da 100755 --- a/atari/plot/plotter.h +++ b/atari/plot/plotter.h @@ -25,6 +25,7 @@ #include #include +#include "desktop/plotters.h" #include "desktop/plot_style.h" #include "image/bitmap.h" #include "atari/bitmap.h" @@ -103,12 +104,7 @@ struct s_font_plotter }; -struct s_clipping { - short x0; - short y0; - short x1; - short y1; -}; +struct rect; struct s_vdi_sysinfo { short vdi_handle; /* vdi handle */ @@ -162,7 +158,7 @@ typedef int (*_pmf_update_screen_region)( GEM_PLOTTER self, GRECT region ); typedef int (*_pmf_update_screen)(GEM_PLOTTER self); typedef int (*_pmf_put_pixel)(GEM_PLOTTER self, int x, int y, int color ); typedef int (*_pmf_copy_rect)(GEM_PLOTTER self, GRECT src, GRECT dst ); -typedef int (*_pmf_clip)(GEM_PLOTTER self, int x0, int y0, int x1, int y1); +typedef int (*_pmf_clip)(GEM_PLOTTER self, const struct rect * clip ); typedef int (*_pmf_arc)(GEM_PLOTTER self, int x, int y, int radius, int angle1, int angle2, const plot_style_t * pstyle); typedef int (*_pmf_disc)(GEM_PLOTTER self, int x, int y, int radius, const plot_style_t * pstyle); typedef int (*_pmf_line)(GEM_PLOTTER self, int x0, int y0, int x1, int y1, const plot_style_t * pstyle); @@ -185,7 +181,7 @@ struct s_gem_plotter struct s_vdi_sysinfo * scr; void * priv_data; int bpp_virt; /* bit depth of framebuffer */ - struct s_clipping clipping; + struct rect clipping; struct s_frame_buf fbuf[MAX_FRAMEBUFS]; int cfbi; /* current framebuffer index */ @@ -296,8 +292,8 @@ void rgb_to_vdi1000( unsigned char * in, unsigned short * out ); short rgb_to_666_index(unsigned char r, unsigned char g, unsigned char b); /* shared / static methods ... */ -int plotter_get_clip( GEM_PLOTTER self, struct s_clipping * out ); -int plotter_std_clip(GEM_PLOTTER self,int x0, int y0, int x1, int y1); +int plotter_get_clip( GEM_PLOTTER self, struct rect * out ); +int plotter_std_clip(GEM_PLOTTER self, const struct rect * clip); void plotter_vdi_clip( GEM_PLOTTER self, bool set); #define PLOTTER_IS_LOCKED(plotter) ( plotter->private_flags & PLOTTER_FLAG_LOCKED ) diff --git a/atari/plot/plotter_vdi.c b/atari/plot/plotter_vdi.c index f4cee9559..380584817 100755 --- a/atari/plot/plotter_vdi.c +++ b/atari/plot/plotter_vdi.c @@ -122,6 +122,8 @@ int ctor_plotter_vdi(GEM_PLOTTER self ) { int retval = 0; int i; + struct rect clip; + self->dtor = dtor; self->resize= resize; self->move = move; @@ -167,7 +169,12 @@ int ctor_plotter_vdi(GEM_PLOTTER self ) /* offscreen: FIRSTFB(self).mem = malloc( FIRSTFB(self).size ); */ FIRSTFB(self).mem = NULL; update_visible_rect( self ); - self->clip( self, 0, 0, FIRSTFB(self).w, FIRSTFB(self).h ); + + clip.x0 = 0; + clip.y0 = 0; + clip.x1 = FIRSTFB(self).w; + clip.y1 = FIRSTFB(self).h; + self->clip( self, &clip ); /* store system palette & setup the new (web) palette: */ i = 0; if( app.nplanes <= 8 ){ @@ -601,7 +608,7 @@ static int polygon(GEM_PLOTTER self,const int *p, unsigned int n, const plot_st unsigned int i=0; short d[4]; if( vdi_sysinfo.maxpolycoords > 0 ) - assert( n < vdi_sysinfo.maxpolycoords ); + assert( (signed int)n < vdi_sysinfo.maxpolycoords ); /* Does this double check make sense? else @@ -1041,11 +1048,8 @@ static int bitmap( GEM_PLOTTER self, struct bitmap * bmp, int x, int y, static int text(GEM_PLOTTER self, int x, int y, const char *text, size_t length, const plot_font_style_t *fstyle) { - self->font_plotter->text( self->font_plotter, - x, - y, - text, length, - fstyle + self->font_plotter->text( self->font_plotter, x, y, + text, length, fstyle ); return ( 1 ); } -- cgit v1.2.3