Gitweb links:

...log 
http://git.netsurf-browser.org/netsurf.git/shortlog/5a055e3b05925a4b482ff2fc1e4d18d57825df59
...commit 
http://git.netsurf-browser.org/netsurf.git/commit/5a055e3b05925a4b482ff2fc1e4d18d57825df59
...tree 
http://git.netsurf-browser.org/netsurf.git/tree/5a055e3b05925a4b482ff2fc1e4d18d57825df59

The branch, chris/palette-mapped-plotters has been updated
       via  5a055e3b05925a4b482ff2fc1e4d18d57825df59 (commit)
       via  0f1685f131e3f4bdb4b679eeeb1f23a23990f06d (commit)
       via  400d02bc24a5530baf03c019bb8451831d7463e0 (commit)
       via  eed37af7518fcb9a30d7bb4d1c5e6349a90f95bb (commit)
      from  dad8065f0a0f9a572983444b3f51d4cddca69ecc (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/netsurf.git/commitdiff/5a055e3b05925a4b482ff2fc1e4d18d57825df59
commit 5a055e3b05925a4b482ff2fc1e4d18d57825df59
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>

    stop crashing

diff --git a/amiga/plotters.c b/amiga/plotters.c
index 4507e3e..239b442 100755
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -668,6 +668,8 @@ bool ami_bitmap_tile(int x, int y, int width, int height,
        LOG(("[ami_plotter] Entered ami_bitmap_tile()"));
        #endif
 
+       if(palette_mapped == true) return true;
+       
        int xf,yf,xm,ym,oy,ox;
        struct BitMap *tbm = NULL;
        struct Hook *bfh = NULL;


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commitdiff/0f1685f131e3f4bdb4b679eeeb1f23a23990f06d
commit 0f1685f131e3f4bdb4b679eeeb1f23a23990f06d
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>

    add palette-capable OPen function

diff --git a/amiga/plotters.c b/amiga/plotters.c
index 637c753..4507e3e 100755
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -243,6 +243,26 @@ void ami_plot_setapen(ULONG colour)
        }
 }
 
+void ami_plot_setopen(ULONG colour)
+{
+       if(palette_mapped == false) {
+               SetRPAttrs(glob->rp, RPTAG_OPenColor,
+                       p96EncodeColor(RGBFF_A8B8G8R8, colour),
+                       TAG_DONE);
+       } else {
+               ULONG pen = ObtainBestPenA(scrn->ViewPort.ColorMap,
+                       (colour & 0x000000ff) << 24,
+                       (colour & 0x0000ff00) << 16,
+                       (colour & 0x00ff0000) << 8,
+                       NULL);
+
+               if(pen == -1) LOG(("WARNING: Cannot allocate pen for ABGR:%lx", 
colour));
+                       
+               SetOPen(glob->rp, pen); 
+               /* TODO: Add pen to a list for later release */
+       }
+}
+
 bool ami_rectangle(int x0, int y0, int x1, int y1, const plot_style_t *style)
 {
        #ifdef AMI_PLOTTER_DEBUG
@@ -309,25 +329,25 @@ bool ami_rectangle(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
 #ifdef NS_AMIGA_CAIRO
                        ami_cairo_set_colour(glob->cr, style->stroke_colour);
 
-                switch (style->stroke_type) {
-                case PLOT_OP_TYPE_SOLID: /**< Solid colour */
-                default:
-                        ami_cairo_set_solid(glob->cr);
-                        break;
-
-                case PLOT_OP_TYPE_DOT: /**< Doted plot */
-                        ami_cairo_set_dotted(glob->cr);
-                        break;
-
-                case PLOT_OP_TYPE_DASH: /**< dashed plot */
-                        ami_cairo_set_dashed(glob->cr);
-                        break;
-                }
-
-                if (style->stroke_width == 0)
-                        cairo_set_line_width(glob->cr, 1);
-                else
-                        cairo_set_line_width(glob->cr, style->stroke_width);
+                       switch (style->stroke_type) {
+                               case PLOT_OP_TYPE_SOLID: /**< Solid colour */
+                                       default:
+                                               ami_cairo_set_solid(glob->cr);
+                                       break;
+
+                                       case PLOT_OP_TYPE_DOT: /**< Doted plot 
*/
+                                               ami_cairo_set_dotted(glob->cr);
+                                       break;
+
+                                       case PLOT_OP_TYPE_DASH: /**< dashed 
plot */
+                                               ami_cairo_set_dashed(glob->cr);
+                                       break;
+                               }
+
+                               if (style->stroke_width == 0)
+                                       cairo_set_line_width(glob->cr, 1);
+                               else
+                                       cairo_set_line_width(glob->cr, 
style->stroke_width);
 
                        cairo_rectangle(glob->cr, x0, y0, x1 - x0, y1 - y0);
                        cairo_stroke(glob->cr);


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commitdiff/400d02bc24a5530baf03c019bb8451831d7463e0
commit 400d02bc24a5530baf03c019bb8451831d7463e0
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>

    Convert the rest of plotters.c to use palette-mapped capable colour 
selection

diff --git a/amiga/plotters.c b/amiga/plotters.c
index d52be34..637c753 100755
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -293,10 +293,7 @@ bool ami_rectangle(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
                         break;
                 }
 
-                       SetRPAttrs(glob->rp,
-                                  RPTAG_APenColor,
-                                  p96EncodeColor(RGBFB_A8B8G8R8, 
style->stroke_colour),
-                                  TAG_DONE);
+                       ami_plot_setapen(style->stroke_colour);
                        Move(glob->rp, x0,y0);
                        Draw(glob->rp, x1, y0);
                        Draw(glob->rp, x1, y1);
@@ -346,7 +343,7 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
        LOG(("[ami_plotter] Entered ami_line()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) < 2)
+       if((nsoption_int(cairo_renderer) < 2) || (palette_mapped == true))
        {
                glob->rp->PenWidth = style->stroke_width;
                glob->rp->PenHeight = style->stroke_width;
@@ -366,10 +363,7 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
                break;
                }
 
-               SetRPAttrs(glob->rp,
-                  RPTAG_APenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->stroke_colour),
-                  TAG_DONE);
+               ami_plot_setapen(style->stroke_colour);
                Move(glob->rp,x0,y0);
                Draw(glob->rp,x1,y1);
 
@@ -382,25 +376,25 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
 #ifdef NS_AMIGA_CAIRO
                ami_cairo_set_colour(glob->cr, style->stroke_colour);
 
-       switch (style->stroke_type) {
-       case PLOT_OP_TYPE_SOLID: /**< Solid colour */
-       default:
-               ami_cairo_set_solid(glob->cr);
-               break;
-
-       case PLOT_OP_TYPE_DOT: /**< Doted plot */
-               ami_cairo_set_dotted(glob->cr);
-               break;
-
-       case PLOT_OP_TYPE_DASH: /**< dashed plot */
-               ami_cairo_set_dashed(glob->cr);
-               break;
-       }
+               switch (style->stroke_type) {
+                       case PLOT_OP_TYPE_SOLID: /**< Solid colour */
+                       default:
+                               ami_cairo_set_solid(glob->cr);
+                       break;
+
+                       case PLOT_OP_TYPE_DOT: /**< Doted plot */
+                               ami_cairo_set_dotted(glob->cr);
+                       break;
+
+                       case PLOT_OP_TYPE_DASH: /**< dashed plot */
+                               ami_cairo_set_dashed(glob->cr);
+                       break;
+               }
 
-       if (style->stroke_width == 0)
-               cairo_set_line_width(glob->cr, 1);
-       else
-               cairo_set_line_width(glob->cr, style->stroke_width);
+               if (style->stroke_width == 0)
+                       cairo_set_line_width(glob->cr, 1);
+               else
+                       cairo_set_line_width(glob->cr, style->stroke_width);
 
                /* core expects horizontal and vertical lines to be on pixels, 
not
                 * between pixels */
@@ -422,17 +416,12 @@ bool ami_polygon(const int *p, unsigned int n, const 
plot_style_t *style)
 
        int k;
 
-       if(nsoption_int(cairo_renderer) < 1)
+       if((nsoption_int(cairo_renderer) < 1) || (palette_mapped == true))
        {
                ULONG cx,cy;
 
-               SetRPAttrs(glob->rp,
-                  RPTAG_APenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->fill_colour),
-                  RPTAG_OPenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->fill_colour),
-//                                     RPTAG_OPenColor,0xffffffff,
-                  TAG_DONE);
+               ami_plot_setapen(style->fill_colour);
+               ami_plot_setopen(style->fill_colour);
 
                AreaMove(glob->rp,p[0],p[1]);
 
@@ -488,7 +477,7 @@ bool ami_clip(const struct rect *clip)
        }
 
 #ifdef NS_AMIGA_CAIRO
-       if(nsoption_int(cairo_renderer) == 2)
+       if((nsoption_int(cairo_renderer) == 2) && (palette_mapped == false))
        {
                cairo_reset_clip(glob->cr);
                cairo_rectangle(glob->cr, clip->x0, clip->y0,
@@ -519,23 +508,16 @@ bool ami_disc(int x, int y, int radius, const 
plot_style_t *style)
        LOG(("[ami_plotter] Entered ami_disc()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) < 2)
+       if((nsoption_int(cairo_renderer) < 2) || (palette_mapped == true))
        {
                if (style->fill_type != PLOT_OP_TYPE_NONE) {
-                       SetRPAttrs(glob->rp,
-                                       RPTAG_APenColor,
-                                       p96EncodeColor(RGBFB_A8B8G8R8, 
style->fill_colour),
-                                       TAG_DONE);
+                       ami_plot_setapen(style->fill_colour);
                        AreaCircle(glob->rp,x,y,radius);
                        AreaEnd(glob->rp);
                }
 
                if (style->stroke_type != PLOT_OP_TYPE_NONE) {
-                       SetRPAttrs(glob->rp,
-                                       RPTAG_APenColor,
-                                       p96EncodeColor(RGBFB_A8B8G8R8, 
style->stroke_colour),
-                                       TAG_DONE);
-
+                       ami_plot_setapen(style->stroke_colour);
                        DrawEllipse(glob->rp,x,y,radius,radius);
                }
        }
@@ -572,8 +554,12 @@ bool ami_arc(int x, int y, int radius, int angle1, int 
angle2, const plot_style_
        LOG(("[ami_plotter] Entered ami_arc()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) >= 1)
-       {
+       if((nsoption_int(cairo_renderer) == 0) || (palette_mapped == true)) {
+               /* TODO: gfx.lib plotter needs arc support */
+               /* eg. http://www.crbond.com/primitives.htm CommonFuncsPPC.lha 
*/
+               ami_plot_setapen(style->fill_colour);
+               /*      
DrawArc(glob->rp,x,y,(float)angle1,(float)angle2,radius); */
+       } else {
 #ifdef NS_AMIGA_CAIRO
                ami_cairo_set_colour(glob->cr, style->fill_colour);
                ami_cairo_set_solid(glob->cr);
@@ -585,19 +571,7 @@ bool ami_arc(int x, int y, int radius, int angle1, int 
angle2, const plot_style_
                cairo_stroke(glob->cr);
 #endif
        }
-       else
-       {
-               /* TODO: gfx.lib plotter needs arc support */
-/* http://www.crbond.com/primitives.htm
-CommonFuncsPPC.lha */
-
-               SetRPAttrs(glob->rp,
-                               RPTAG_APenColor,
-                               p96EncodeColor(RGBFB_A8B8G8R8, 
style->fill_colour),
-                               TAG_DONE);
-
-//     DrawArc(glob->rp,x,y,(float)angle1,(float)angle2,radius);
-       }
+       
        return true;
 }
 
@@ -848,7 +822,7 @@ bool ami_path(const float *p, unsigned int n, colour fill, 
float width,
 /* We should probably check if the off-screen bitmap is 32-bit and render
  * using Cairo regardless if it is.  For now, we respect user preferences.
  */
-       if(nsoption_int(cairo_renderer) >= 1)
+       if((nsoption_int(cairo_renderer) >= 1) && (palette_mapped == false))
        {
                unsigned int i;
                cairo_matrix_t old_ctm, n_ctm;


commitdiff 
http://git.netsurf-browser.org/netsurf.git/commitdiff/eed37af7518fcb9a30d7bb4d1c5e6349a90f95bb
commit eed37af7518fcb9a30d7bb4d1c5e6349a90f95bb
Author: Chris Young <[email protected]>
Commit: Chris Young <[email protected]>

    Fix colours - rectangles now printing correctly. Fix an 'early' crash 
caused by unfriendly bitmaps. Text needs fixing. There is also a 'late' crash 
which makes it unusable.

diff --git a/amiga/plotters.c b/amiga/plotters.c
index 7a8e6cc..d52be34 100755
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -131,10 +131,10 @@ void ami_init_layers(struct gui_globals *gg, ULONG width, 
ULONG height)
        struct BitMap *friend = NULL; /* Required to be NULL for Cairo and ARGB 
bitmaps */
 
        if(dri = GetScreenDrawInfo(scrn)) {
-               if(depth < 16) {
+               if(dri->dri_Depth < 16) {
                        palette_mapped = true;
                        depth = dri->dri_Depth; /* this is always wrong */
-                       friend = scrn->RastPort.BitMap;
+               //      friend = scrn->RastPort.BitMap;
                } else {
                        palette_mapped = false;
                }
@@ -239,6 +239,7 @@ void ami_plot_setapen(ULONG colour)
                if(pen == -1) LOG(("WARNING: Cannot allocate pen for ABGR:%lx", 
colour));
                        
                SetAPen(glob->rp, pen); 
+               /* TODO: Add pen to a list for later release */
        }
 }
 


-----------------------------------------------------------------------

Summary of changes:
 amiga/plotters.c |  157 ++++++++++++++++++++++++++---------------------------
 1 files changed, 77 insertions(+), 80 deletions(-)

diff --git a/amiga/plotters.c b/amiga/plotters.c
index 7a8e6cc..239b442 100755
--- a/amiga/plotters.c
+++ b/amiga/plotters.c
@@ -131,10 +131,10 @@ void ami_init_layers(struct gui_globals *gg, ULONG width, 
ULONG height)
        struct BitMap *friend = NULL; /* Required to be NULL for Cairo and ARGB 
bitmaps */
 
        if(dri = GetScreenDrawInfo(scrn)) {
-               if(depth < 16) {
+               if(dri->dri_Depth < 16) {
                        palette_mapped = true;
                        depth = dri->dri_Depth; /* this is always wrong */
-                       friend = scrn->RastPort.BitMap;
+               //      friend = scrn->RastPort.BitMap;
                } else {
                        palette_mapped = false;
                }
@@ -239,6 +239,27 @@ void ami_plot_setapen(ULONG colour)
                if(pen == -1) LOG(("WARNING: Cannot allocate pen for ABGR:%lx", 
colour));
                        
                SetAPen(glob->rp, pen); 
+               /* TODO: Add pen to a list for later release */
+       }
+}
+
+void ami_plot_setopen(ULONG colour)
+{
+       if(palette_mapped == false) {
+               SetRPAttrs(glob->rp, RPTAG_OPenColor,
+                       p96EncodeColor(RGBFF_A8B8G8R8, colour),
+                       TAG_DONE);
+       } else {
+               ULONG pen = ObtainBestPenA(scrn->ViewPort.ColorMap,
+                       (colour & 0x000000ff) << 24,
+                       (colour & 0x0000ff00) << 16,
+                       (colour & 0x00ff0000) << 8,
+                       NULL);
+
+               if(pen == -1) LOG(("WARNING: Cannot allocate pen for ABGR:%lx", 
colour));
+                       
+               SetOPen(glob->rp, pen); 
+               /* TODO: Add pen to a list for later release */
        }
 }
 
@@ -292,10 +313,7 @@ bool ami_rectangle(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
                         break;
                 }
 
-                       SetRPAttrs(glob->rp,
-                                  RPTAG_APenColor,
-                                  p96EncodeColor(RGBFB_A8B8G8R8, 
style->stroke_colour),
-                                  TAG_DONE);
+                       ami_plot_setapen(style->stroke_colour);
                        Move(glob->rp, x0,y0);
                        Draw(glob->rp, x1, y0);
                        Draw(glob->rp, x1, y1);
@@ -311,25 +329,25 @@ bool ami_rectangle(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
 #ifdef NS_AMIGA_CAIRO
                        ami_cairo_set_colour(glob->cr, style->stroke_colour);
 
-                switch (style->stroke_type) {
-                case PLOT_OP_TYPE_SOLID: /**< Solid colour */
-                default:
-                        ami_cairo_set_solid(glob->cr);
-                        break;
+                       switch (style->stroke_type) {
+                               case PLOT_OP_TYPE_SOLID: /**< Solid colour */
+                                       default:
+                                               ami_cairo_set_solid(glob->cr);
+                                       break;
 
-                case PLOT_OP_TYPE_DOT: /**< Doted plot */
-                        ami_cairo_set_dotted(glob->cr);
-                        break;
+                                       case PLOT_OP_TYPE_DOT: /**< Doted plot 
*/
+                                               ami_cairo_set_dotted(glob->cr);
+                                       break;
 
-                case PLOT_OP_TYPE_DASH: /**< dashed plot */
-                        ami_cairo_set_dashed(glob->cr);
-                        break;
-                }
+                                       case PLOT_OP_TYPE_DASH: /**< dashed 
plot */
+                                               ami_cairo_set_dashed(glob->cr);
+                                       break;
+                               }
 
-                if (style->stroke_width == 0)
-                        cairo_set_line_width(glob->cr, 1);
-                else
-                        cairo_set_line_width(glob->cr, style->stroke_width);
+                               if (style->stroke_width == 0)
+                                       cairo_set_line_width(glob->cr, 1);
+                               else
+                                       cairo_set_line_width(glob->cr, 
style->stroke_width);
 
                        cairo_rectangle(glob->cr, x0, y0, x1 - x0, y1 - y0);
                        cairo_stroke(glob->cr);
@@ -345,7 +363,7 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
        LOG(("[ami_plotter] Entered ami_line()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) < 2)
+       if((nsoption_int(cairo_renderer) < 2) || (palette_mapped == true))
        {
                glob->rp->PenWidth = style->stroke_width;
                glob->rp->PenHeight = style->stroke_width;
@@ -365,10 +383,7 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
                break;
                }
 
-               SetRPAttrs(glob->rp,
-                  RPTAG_APenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->stroke_colour),
-                  TAG_DONE);
+               ami_plot_setapen(style->stroke_colour);
                Move(glob->rp,x0,y0);
                Draw(glob->rp,x1,y1);
 
@@ -381,25 +396,25 @@ bool ami_line(int x0, int y0, int x1, int y1, const 
plot_style_t *style)
 #ifdef NS_AMIGA_CAIRO
                ami_cairo_set_colour(glob->cr, style->stroke_colour);
 
-       switch (style->stroke_type) {
-       case PLOT_OP_TYPE_SOLID: /**< Solid colour */
-       default:
-               ami_cairo_set_solid(glob->cr);
-               break;
-
-       case PLOT_OP_TYPE_DOT: /**< Doted plot */
-               ami_cairo_set_dotted(glob->cr);
-               break;
-
-       case PLOT_OP_TYPE_DASH: /**< dashed plot */
-               ami_cairo_set_dashed(glob->cr);
-               break;
-       }
+               switch (style->stroke_type) {
+                       case PLOT_OP_TYPE_SOLID: /**< Solid colour */
+                       default:
+                               ami_cairo_set_solid(glob->cr);
+                       break;
+
+                       case PLOT_OP_TYPE_DOT: /**< Doted plot */
+                               ami_cairo_set_dotted(glob->cr);
+                       break;
+
+                       case PLOT_OP_TYPE_DASH: /**< dashed plot */
+                               ami_cairo_set_dashed(glob->cr);
+                       break;
+               }
 
-       if (style->stroke_width == 0)
-               cairo_set_line_width(glob->cr, 1);
-       else
-               cairo_set_line_width(glob->cr, style->stroke_width);
+               if (style->stroke_width == 0)
+                       cairo_set_line_width(glob->cr, 1);
+               else
+                       cairo_set_line_width(glob->cr, style->stroke_width);
 
                /* core expects horizontal and vertical lines to be on pixels, 
not
                 * between pixels */
@@ -421,17 +436,12 @@ bool ami_polygon(const int *p, unsigned int n, const 
plot_style_t *style)
 
        int k;
 
-       if(nsoption_int(cairo_renderer) < 1)
+       if((nsoption_int(cairo_renderer) < 1) || (palette_mapped == true))
        {
                ULONG cx,cy;
 
-               SetRPAttrs(glob->rp,
-                  RPTAG_APenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->fill_colour),
-                  RPTAG_OPenColor,
-                  p96EncodeColor(RGBFB_A8B8G8R8, style->fill_colour),
-//                                     RPTAG_OPenColor,0xffffffff,
-                  TAG_DONE);
+               ami_plot_setapen(style->fill_colour);
+               ami_plot_setopen(style->fill_colour);
 
                AreaMove(glob->rp,p[0],p[1]);
 
@@ -487,7 +497,7 @@ bool ami_clip(const struct rect *clip)
        }
 
 #ifdef NS_AMIGA_CAIRO
-       if(nsoption_int(cairo_renderer) == 2)
+       if((nsoption_int(cairo_renderer) == 2) && (palette_mapped == false))
        {
                cairo_reset_clip(glob->cr);
                cairo_rectangle(glob->cr, clip->x0, clip->y0,
@@ -518,23 +528,16 @@ bool ami_disc(int x, int y, int radius, const 
plot_style_t *style)
        LOG(("[ami_plotter] Entered ami_disc()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) < 2)
+       if((nsoption_int(cairo_renderer) < 2) || (palette_mapped == true))
        {
                if (style->fill_type != PLOT_OP_TYPE_NONE) {
-                       SetRPAttrs(glob->rp,
-                                       RPTAG_APenColor,
-                                       p96EncodeColor(RGBFB_A8B8G8R8, 
style->fill_colour),
-                                       TAG_DONE);
+                       ami_plot_setapen(style->fill_colour);
                        AreaCircle(glob->rp,x,y,radius);
                        AreaEnd(glob->rp);
                }
 
                if (style->stroke_type != PLOT_OP_TYPE_NONE) {
-                       SetRPAttrs(glob->rp,
-                                       RPTAG_APenColor,
-                                       p96EncodeColor(RGBFB_A8B8G8R8, 
style->stroke_colour),
-                                       TAG_DONE);
-
+                       ami_plot_setapen(style->stroke_colour);
                        DrawEllipse(glob->rp,x,y,radius,radius);
                }
        }
@@ -571,8 +574,12 @@ bool ami_arc(int x, int y, int radius, int angle1, int 
angle2, const plot_style_
        LOG(("[ami_plotter] Entered ami_arc()"));
        #endif
 
-       if(nsoption_int(cairo_renderer) >= 1)
-       {
+       if((nsoption_int(cairo_renderer) == 0) || (palette_mapped == true)) {
+               /* TODO: gfx.lib plotter needs arc support */
+               /* eg. http://www.crbond.com/primitives.htm CommonFuncsPPC.lha 
*/
+               ami_plot_setapen(style->fill_colour);
+               /*      
DrawArc(glob->rp,x,y,(float)angle1,(float)angle2,radius); */
+       } else {
 #ifdef NS_AMIGA_CAIRO
                ami_cairo_set_colour(glob->cr, style->fill_colour);
                ami_cairo_set_solid(glob->cr);
@@ -584,19 +591,7 @@ bool ami_arc(int x, int y, int radius, int angle1, int 
angle2, const plot_style_
                cairo_stroke(glob->cr);
 #endif
        }
-       else
-       {
-               /* TODO: gfx.lib plotter needs arc support */
-/* http://www.crbond.com/primitives.htm
-CommonFuncsPPC.lha */
-
-               SetRPAttrs(glob->rp,
-                               RPTAG_APenColor,
-                               p96EncodeColor(RGBFB_A8B8G8R8, 
style->fill_colour),
-                               TAG_DONE);
-
-//     DrawArc(glob->rp,x,y,(float)angle1,(float)angle2,radius);
-       }
+       
        return true;
 }
 
@@ -673,6 +668,8 @@ bool ami_bitmap_tile(int x, int y, int width, int height,
        LOG(("[ami_plotter] Entered ami_bitmap_tile()"));
        #endif
 
+       if(palette_mapped == true) return true;
+       
        int xf,yf,xm,ym,oy,ox;
        struct BitMap *tbm = NULL;
        struct Hook *bfh = NULL;
@@ -847,7 +844,7 @@ bool ami_path(const float *p, unsigned int n, colour fill, 
float width,
 /* We should probably check if the off-screen bitmap is 32-bit and render
  * using Cairo regardless if it is.  For now, we respect user preferences.
  */
-       if(nsoption_int(cairo_renderer) >= 1)
+       if((nsoption_int(cairo_renderer) >= 1) && (palette_mapped == false))
        {
                unsigned int i;
                cairo_matrix_t old_ctm, n_ctm;


-- 
NetSurf Browser

_______________________________________________
netsurf-commits mailing list
[email protected]
http://vlists.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to