From b682523066c800a0698a3c5863e3a27288163454 Mon Sep 17 00:00:00 2001 From: Chris Young Date: Sat, 13 Dec 2008 23:20:49 +0000 Subject: Minor improvements to output. svn path=/trunk/netsurf/; revision=5905 --- amiga/font.c | 20 ++------------------ amiga/plotters.c | 29 +++++++++++++++++++---------- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/amiga/font.c b/amiga/font.c index 2096ed38b..f495427a8 100644 --- a/amiga/font.c +++ b/amiga/font.c @@ -204,15 +204,7 @@ struct TextFont *ami_open_font(struct css_style *style) } */ - switch(style->font_size.size) - { - case CSS_FONT_SIZE_LENGTH: - tattr.tta_YSize = (UWORD)style->font_size.value.length.value; - break; - default: - printf("FONT SIZE TYPE: %ld\n",style->font_size.size); - break; - } + tattr.tta_YSize = css_len2px(&style->font_size.value.length, style); if(tattr.tta_YSize < option_font_min_size) tattr.tta_YSize = option_font_min_size; @@ -282,15 +274,7 @@ struct OutlineFont *ami_open_outline_font(struct css_style *style) /* see diskfont implementation for currently unimplemented bold/italic stuff */ - switch(style->font_size.size) - { - case CSS_FONT_SIZE_LENGTH: - ysize = style->font_size.value.length.value; - break; - default: - printf("FONT SIZE TYPE: %ld\n",style->font_size.size); - break; - } + ysize = css_len2px(&style->font_size.value.length, style); if(ysize < option_font_min_size) ysize = option_font_min_size; diff --git a/amiga/plotters.c b/amiga/plotters.c index eeb67038e..7befc4cdc 100755 --- a/amiga/plotters.c +++ b/amiga/plotters.c @@ -27,6 +27,7 @@ #include #include "amiga/utf8.h" #include +#include "amiga/options.h" #define PATT_DOT 0xAAAA #define PATT_DASH 0xCCCC @@ -137,7 +138,7 @@ bool ami_fill(int x0, int y0, int x1, int y1, colour c) { //DebugPrintF("fill %ld,%ld,%ld,%ld\n",x0,y0,x1,y1); - p96RectFill(currp,x0,y0,x1,y1, + p96RectFill(currp,x0,y0,x1-1,y1-1, p96EncodeColor(RGBFB_A8B8G8R8,c)); return true; @@ -171,16 +172,20 @@ bool ami_text(int x, int y, const struct css_style *style, const char *text, size_t length, colour bg, colour c) { char *buffer = NULL; - struct TextFont *tfont = ami_open_font(style); + struct TextFont *tfont; - SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c), + if(option_quick_text) + { + tfont = ami_open_font(style); + + SetRPAttrs(currp,RPTAG_APenColor,p96EncodeColor(RGBFB_A8B8G8R8,c), RPTAG_BPenColor,p96EncodeColor(RGBFB_A8B8G8R8,bg), // RPTAG_Font,tfont, TAG_DONE); - utf8_to_local_encoding(text,length,&buffer); + utf8_to_local_encoding(text,length,&buffer); - if(!buffer) return true; + if(!buffer) return true; /* Below function prints Unicode text direct to the RastPort. * This is commented out due to lack of SDK which allows me to perform blits @@ -192,11 +197,15 @@ bool ami_text(int x, int y, const struct css_style *style, * or, perhaps the ttengine.library version (far too slow): * ami_tte_text(currp,text,length); */ - Move(currp,x,y); - Text(currp,buffer,strlen(buffer)); - - ami_close_font(tfont); - ami_utf8_free(buffer); + Move(currp,x,y); + Text(currp,buffer,strlen(buffer)); + ami_close_font(tfont); + ami_utf8_free(buffer); + } + else + { + ami_unicode_text(currp,text,length,style,x,y,c); + } return true; } -- cgit v1.2.3