mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-24 21:16:50 +03:00
3d9a1198db
Reduce constant bitmap overhead per reference by moving to a flag word. Allow bitmaps to be reduced back to their raw data to free extra memory in a highly efficient manner. svn path=/import/netsurf/; revision=2089
57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
/*
|
|
* This file is part of NetSurf, http://netsurf.sourceforge.net/
|
|
* Licensed under the GNU General Public License,
|
|
* http://www.opensource.org/licenses/gpl-license
|
|
* Copyright 2004 James Bursa <bursa@users.sourceforge.net>
|
|
*/
|
|
|
|
#ifndef _NETSURF_RISCOS_BITMAP_H_
|
|
#define _NETSURF_RISCOS_BITMAP_H_
|
|
|
|
#include "oslib/osspriteop.h"
|
|
#include "netsurf/image/bitmap.h"
|
|
|
|
struct osspriteop_area;
|
|
|
|
struct bitmap {
|
|
int width;
|
|
int height;
|
|
|
|
unsigned int state;
|
|
|
|
void *private_word;
|
|
void (*invalidate)(struct bitmap *bitmap, void *private_word);
|
|
|
|
osspriteop_area *sprite_area; /** Uncompressed data, or NULL */
|
|
char *compressed; /** Compressed data, or NULL */
|
|
char filename[12]; /** Data filename, or '/0' */
|
|
|
|
struct bitmap *previous; /** Previous bitmap */
|
|
struct bitmap *next; /** Next bitmap */
|
|
|
|
};
|
|
|
|
struct bitmap *bitmap_create_file(char *file);
|
|
void bitmap_initialise_memory(void);
|
|
void bitmap_quit(void);
|
|
void bitmap_maintain(void);
|
|
|
|
/** Whether maintenance of the pool states is needed
|
|
*/
|
|
extern bool bitmap_maintenance;
|
|
|
|
/** Whether maintenance of the pool is high priority
|
|
*/
|
|
extern bool bitmap_maintenance_priority;
|
|
|
|
/** Maximum amount of memory for direct images
|
|
*/
|
|
extern unsigned int bitmap_direct_size;
|
|
|
|
/** Total size of compressed area
|
|
*/
|
|
extern unsigned int bitmap_compressed_size;
|
|
|
|
|
|
#endif
|