mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-18 18:23:25 +03:00
Revert "Amiga: do not force 32-bit bitmaps"
This reverts commit 793f514220
.
This commit is contained in:
parent
793f514220
commit
5a6bb39218
@ -750,7 +750,7 @@ static nserror bitmap_render(struct bitmap *bitmap, struct hlcache_handle *conte
|
||||
plot_height = ((plot_width * bitmap->height) + (bitmap->width / 2)) /
|
||||
bitmap->width;
|
||||
|
||||
bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, false);
|
||||
bm_globals = ami_plot_ra_alloc(bitmap->width, bitmap->height, true, false);
|
||||
ami_clearclipreg(bm_globals);
|
||||
|
||||
struct redraw_context ctx = {
|
||||
|
@ -939,7 +939,7 @@ nserror ami_corewindow_init(struct ami_corewindow *ami_cw)
|
||||
ami_cw->dragging = false;
|
||||
|
||||
/* allocate drawing area etc */
|
||||
ami_cw->gg = ami_plot_ra_alloc(100, 100, true); // force tiles to save memory
|
||||
ami_cw->gg = ami_plot_ra_alloc(100, 100, false, true); // force tiles to save memory
|
||||
|
||||
ami_cw->deferred_rects = NewObjList();
|
||||
ami_cw->deferred_rects_pool = ami_memory_itempool_create(sizeof(struct rect));
|
||||
|
@ -1321,7 +1321,7 @@ static void ami_openscreen(void)
|
||||
static void ami_openscreenfirst(void)
|
||||
{
|
||||
ami_openscreen();
|
||||
if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false);
|
||||
if(browserglob == NULL) browserglob = ami_plot_ra_alloc(0, 0, false, false);
|
||||
ami_theme_throbber_setup();
|
||||
}
|
||||
|
||||
|
@ -110,7 +110,7 @@ static bool palette_mapped = true; /* palette-mapped state for the screen */
|
||||
*/
|
||||
#define AREA_SIZE 25000
|
||||
|
||||
struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool alloc_pen_list)
|
||||
struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool force32bit, bool alloc_pen_list)
|
||||
{
|
||||
/* init shared bitmaps */
|
||||
int depth = 32;
|
||||
@ -119,16 +119,16 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool alloc_pen_
|
||||
|
||||
struct gui_globals *gg = malloc(sizeof(struct gui_globals));
|
||||
|
||||
depth = GetBitMapAttr(scrn->RastPort.BitMap, BMA_DEPTH);
|
||||
if(force32bit == false) depth = GetBitMapAttr(scrn->RastPort.BitMap, BMA_DEPTH);
|
||||
NSLOG(netsurf, INFO, "Screen depth = %d", depth);
|
||||
|
||||
#ifdef __amigaos4__
|
||||
if(depth < 16) {
|
||||
gg->palette_mapped = true;
|
||||
palette_mapped = true;
|
||||
if(force32bit == false) palette_mapped = true;
|
||||
} else {
|
||||
gg->palette_mapped = false;
|
||||
palette_mapped = false;
|
||||
if(force32bit == false) palette_mapped = false;
|
||||
}
|
||||
#else
|
||||
/* Friend BitMaps are weird.
|
||||
@ -141,15 +141,15 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool alloc_pen_
|
||||
} else {
|
||||
/* Force friend BitMaps on for obvious RTG screens under OS3.
|
||||
* If we get a bit smarter about this we can lose the user option. */
|
||||
if(depth > 8) friend = scrn->RastPort.BitMap;
|
||||
if((depth > 8) && (force32bit == false)) friend = scrn->RastPort.BitMap;
|
||||
}
|
||||
|
||||
if(depth < 16) {
|
||||
gg->palette_mapped = true;
|
||||
palette_mapped = true;
|
||||
if(force32bit == false) palette_mapped = true;
|
||||
} else {
|
||||
gg->palette_mapped = false;
|
||||
palette_mapped = false;
|
||||
if(force32bit == false) palette_mapped = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -177,7 +177,7 @@ struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool alloc_pen_
|
||||
* \todo use friend BitMaps but avoid CompositeTags() at non-32-bit
|
||||
* as that seems to be the cause of the problems.
|
||||
*/
|
||||
if(depth >= 24) friend = scrn->RastPort.BitMap;
|
||||
if((depth >= 24) && (force32bit == false)) friend = scrn->RastPort.BitMap;
|
||||
#endif
|
||||
gg->bm = ami_rtg_allocbitmap(width, height, 32, 0, friend, RGBFB_A8R8G8B8);
|
||||
}
|
||||
|
@ -37,10 +37,11 @@ bool ami_plot_screen_is_palettemapped(void);
|
||||
* Alloc a plotter render area
|
||||
* \param width of render bitmap
|
||||
* \param height of render bitmap
|
||||
* \param force32bit allocate a 32-bit bitmap even if this does not match the screen
|
||||
* \param alloc_pen_list set to false to use own pen list (eg. if multiple pen lists will be required)
|
||||
* \returns pointer to render area
|
||||
*/
|
||||
struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool alloc_pen_list);
|
||||
struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool force32bit, bool alloc_pen_list);
|
||||
|
||||
/**
|
||||
* Free a plotter render area
|
||||
|
@ -500,7 +500,7 @@ bool ami_print_begin(struct print_settings *ps)
|
||||
{
|
||||
ami_print_info.gg = ami_plot_ra_alloc(ami_print_info.PED->ped_MaxXDots,
|
||||
ami_print_info.PED->ped_MaxYDots,
|
||||
false);
|
||||
true, false);
|
||||
if(!ami_print_info.gg) return false;
|
||||
|
||||
ami_print_info.page = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user