Author: adrianl
Date: Sat Aug 19 20:31:07 2006
New Revision: 2869
URL:
http://svn.semichrome.net?rev=2869&view=rev
Log:
Fix for knockout rendering of native formats
Modified:
trunk/netsurf/desktop/knockout.c
trunk/netsurf/desktop/plotters.h
trunk/netsurf/riscos/artworks.c
trunk/netsurf/riscos/draw.c
trunk/netsurf/riscos/plotters.c
trunk/netsurf/riscos/print.c
trunk/netsurf/riscos/save_draw.c
trunk/netsurf/riscos/sprite.c
Modified: trunk/netsurf/desktop/knockout.c
URL:
http://svn.semichrome.net/trunk/netsurf/desktop/knockout.c?rev=2869&r...
==============================================================================
--- trunk/netsurf/desktop/knockout.c (original)
+++ trunk/netsurf/desktop/knockout.c Sat Aug 19 20:31:07 2006
@@ -70,7 +70,8 @@
knockout_plot_bitmap,
knockout_plot_bitmap_tile,
knockout_plot_group_start,
- knockout_plot_group_end
+ knockout_plot_group_end,
+ knockout_plot_flush
};
Modified: trunk/netsurf/desktop/plotters.h
URL:
http://svn.semichrome.net/trunk/netsurf/desktop/plotters.h?rev=2869&r...
==============================================================================
--- trunk/netsurf/desktop/plotters.h (original)
+++ trunk/netsurf/desktop/plotters.h Sat Aug 19 20:31:07 2006
@@ -41,6 +41,7 @@
bool repeat_x, bool repeat_y);
bool (*group_start)(const char *name); /** optional */
bool (*group_end)(void); /** optional */
+ bool (*flush)(void);
};
/** Current plotters, must be assigned before use. */
Modified: trunk/netsurf/riscos/artworks.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/artworks.c?rev=2869&r1...
==============================================================================
--- trunk/netsurf/riscos/artworks.c (original)
+++ trunk/netsurf/riscos/artworks.c Sat Aug 19 20:31:07 2006
@@ -18,6 +18,7 @@
#include "oslib/os.h"
#include "oslib/wimp.h"
#include "netsurf/utils/config.h"
+#include "netsurf/desktop/plotters.h"
#include "netsurf/content/content.h"
#include "netsurf/riscos/artworks.h"
#include "netsurf/riscos/gui.h"
@@ -214,6 +215,9 @@
os_trfm matrix;
int vals[24];
+ if (plot.flush && !plot.flush())
+ return false;
+
/* Scaled image. Transform units (65536*OS units) */
matrix.entries[0][0] = width * 65536 / c->width;
matrix.entries[0][1] = 0;
Modified: trunk/netsurf/riscos/draw.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/draw.c?rev=2869&r1=286...
==============================================================================
--- trunk/netsurf/riscos/draw.c (original)
+++ trunk/netsurf/riscos/draw.c Sat Aug 19 20:31:07 2006
@@ -15,6 +15,7 @@
#include <stdlib.h>
#include "oslib/drawfile.h"
#include "netsurf/utils/config.h"
+#include "netsurf/desktop/plotters.h"
#include "netsurf/content/content.h"
#include "netsurf/riscos/draw.h"
#include "netsurf/riscos/gui.h"
@@ -86,6 +87,9 @@
os_error *error;
os_trfm matrix;
+ if (plot.flush && !plot.flush())
+ return false;
+
/* Scaled image. Transform units (65536*OS units) */
matrix.entries[0][0] = width * 65536 / c->width;
matrix.entries[0][1] = 0;
Modified: trunk/netsurf/riscos/plotters.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/plotters.c?rev=2869&r1...
==============================================================================
--- trunk/netsurf/riscos/plotters.c (original)
+++ trunk/netsurf/riscos/plotters.c Sat Aug 19 20:31:07 2006
@@ -19,6 +19,7 @@
#include "netsurf/riscos/image.h"
#include "netsurf/riscos/gui.h"
#include "netsurf/utils/log.h"
+
static bool ro_plot_clg(colour c);
@@ -59,6 +60,7 @@
ro_plot_bitmap,
ro_plot_bitmap_tile,
NULL,
+ NULL,
NULL
};
Modified: trunk/netsurf/riscos/print.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/print.c?rev=2869&r1=28...
==============================================================================
--- trunk/netsurf/riscos/print.c (original)
+++ trunk/netsurf/riscos/print.c Sat Aug 19 20:31:07 2006
@@ -129,7 +129,8 @@
print_fonts_plot_bitmap,
print_fonts_plot_bitmap_tile,
print_fonts_plot_group_start,
- print_fonts_plot_group_end
+ print_fonts_plot_group_end,
+ NULL
};
Modified: trunk/netsurf/riscos/save_draw.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/save_draw.c?rev=2869&r...
==============================================================================
--- trunk/netsurf/riscos/save_draw.c (original)
+++ trunk/netsurf/riscos/save_draw.c Sat Aug 19 20:31:07 2006
@@ -63,7 +63,8 @@
ro_save_draw_bitmap,
ro_save_draw_bitmap_tile,
ro_save_draw_group_start,
- ro_save_draw_group_end
+ ro_save_draw_group_end,
+ NULL
};
struct pencil_diagram *ro_save_draw_diagram;
Modified: trunk/netsurf/riscos/sprite.c
URL:
http://svn.semichrome.net/trunk/netsurf/riscos/sprite.c?rev=2869&r1=2...
==============================================================================
--- trunk/netsurf/riscos/sprite.c (original)
+++ trunk/netsurf/riscos/sprite.c Sat Aug 19 20:31:07 2006
@@ -19,6 +19,7 @@
#include <stdlib.h>
#include "oslib/osspriteop.h"
#include "netsurf/utils/config.h"
+#include "netsurf/desktop/plotters.h"
#include "netsurf/content/content.h"
#include "netsurf/riscos/gui.h"
#include "netsurf/riscos/image.h"
@@ -98,6 +99,9 @@
int clip_x0, int clip_y0, int clip_x1, int clip_y1,
float scale, colour background_colour)
{
+ if (plot.flush && !plot.flush())
+ return false;
+
return image_redraw(c->data.sprite.data,
ro_plot_origin_x + x * 2,
ro_plot_origin_y - y * 2,