On Mon, 4 Aug 2008 19:24:19 +0100 (BST), John-Mark Bell wrote:

> The implementor of that function must do whatever is necessary to cause 
> the window to be redrawn in full. This basically involves interacting 
> with the window manager to ask it to send a redraw/window expose event, 
> which is then handled by the normal redraw infrastructure, effecting the 
> redraw.

OK, I can fake that easily enough, I don't think I can actually ask it
to request a refresh.  Refresh events themselves probably don't need
me to run through the entire redraw process - AmigaOS tends to handle
refreshes itself for the most part, and I'm writing directly to the
window (for now), so I shouldn't need to worry about that yet.

I think I'm still missing something important.  The only plotters that
are called are:
clip 0 0 800 600
clg ffffff

My redraw code looks like this (I've hardcoded the window to 800x600
temporarily hence the values below):

struct content *c;
c = g->bw->current_content;
current_redraw_browser = g->bw;
content_redraw(c, 0, 0, 800, 600, 0, 0, 800, 600, g->bw->scale,
0xFFFFFF);
current_redraw_browser = NULL;

I nabbed current_redraw_browser from looking at other code.  My hunch
is that NetSurf thinks my window has a size of 0x0, although I've
tried setting bw->x0,x1,y0,y1.

Is htere something else I'm supposed to call/initialise as I can't see
such a thing in the other platform code?

Sorry for all the questions :)

Thanks
Chris

Reply via email to