diff options
author | Adrian Lees <adrian@aemulor.com> | 2007-07-20 23:51:55 +0000 |
---|---|---|
committer | Adrian Lees <adrian@aemulor.com> | 2007-07-20 23:51:55 +0000 |
commit | 84035a2a1d4faa12da8d79c8efa75975798ec99c (patch) | |
tree | baaf877e6e3975b6e59943a804caedf8af87850b /riscos | |
parent | 1522bfeed68110620e6e477205058ca2d5abcb3a (diff) | |
download | netsurf-84035a2a1d4faa12da8d79c8efa75975798ec99c.tar.gz netsurf-84035a2a1d4faa12da8d79c8efa75975798ec99c.tar.bz2 |
Use proper background colour for AW files using transparency
svn path=/trunk/netsurf/; revision=3447
Diffstat (limited to 'riscos')
-rw-r--r-- | riscos/artworks.c | 4 | ||||
-rw-r--r-- | riscos/awrender.s | 9 |
2 files changed, 11 insertions, 2 deletions
diff --git a/riscos/artworks.c b/riscos/artworks.c index 6ff060d8d..16e375f9e 100644 --- a/riscos/artworks.c +++ b/riscos/artworks.c @@ -51,6 +51,9 @@ struct awinfo_block { int print_lowx; int print_lowy; int print_handle; + int print_x1; + int print_y1; + int bgcolour; }; @@ -239,6 +242,7 @@ bool artworks_redraw(struct content *c, int x, int y, info.print_lowx = 0; info.print_lowy = 0; info.print_handle = 0; + info.bgcolour = 0x20000000 | background_colour; error = xos_read_vdu_variables((os_vdu_var_list*)&vars, vals); if (error) { diff --git a/riscos/awrender.s b/riscos/awrender.s index f42916a8b..10127aba5 100644 --- a/riscos/awrender.s +++ b/riscos/awrender.s @@ -120,13 +120,18 @@ awrender_render MOV ip,sp ; ; entry R11 = reason code ; 0 = CallBackReason_Memory +; 3 = CallBackReason_Interface +; (0 => return capabilities) ; exit R0 => base of resizable block ; R1 = size of resizable block ; R2 => base of fixed block (or -1 if no fixed block) - ; R3 = size of fixed block (or document in resizable block) +; R3 = size of fixed block (or document in resizable block) ; VC if resize successful, VS and R0 => error otherwise -aw_callback TEQ R11,#0 +aw_callback TEQ R11,#3 + TEQEQ R0,#0 + MOVEQ R0,#1<<10 ;background colour supplied + TEQ R11,#0 LDREQ R11,=aw_temp MOVNE PC,R14 |