116ed1e1dSAxel Dörfler /* 216ed1e1dSAxel Dörfler * Copyright 2001-2006, Haiku. 316ed1e1dSAxel Dörfler * Distributed under the terms of the MIT License. 416ed1e1dSAxel Dörfler * 516ed1e1dSAxel Dörfler * Authors: 616ed1e1dSAxel Dörfler * DarkWyrm <bpmagic@columbus.rr.com> 716ed1e1dSAxel Dörfler */ 816ed1e1dSAxel Dörfler #ifndef BITMAP_MANAGER_H 916ed1e1dSAxel Dörfler #define BITMAP_MANAGER_H 1016ed1e1dSAxel Dörfler 1116ed1e1dSAxel Dörfler 1216ed1e1dSAxel Dörfler #include <GraphicsDefs.h> 1316ed1e1dSAxel Dörfler #include <List.h> 1416ed1e1dSAxel Dörfler #include <Locker.h> 1516ed1e1dSAxel Dörfler #include <OS.h> 1616ed1e1dSAxel Dörfler #include <Rect.h> 1716ed1e1dSAxel Dörfler 1816ed1e1dSAxel Dörfler class ClientMemoryAllocator; 19*37b502f2SAxel Dörfler class HWInterface; 2016ed1e1dSAxel Dörfler class ServerBitmap; 2116ed1e1dSAxel Dörfler 2216ed1e1dSAxel Dörfler class BitmapManager { 2316ed1e1dSAxel Dörfler public: 2416ed1e1dSAxel Dörfler BitmapManager(); 2516ed1e1dSAxel Dörfler virtual ~BitmapManager(); 2616ed1e1dSAxel Dörfler 27*37b502f2SAxel Dörfler ServerBitmap* CreateBitmap(ClientMemoryAllocator* allocator, 28*37b502f2SAxel Dörfler HWInterface& hwInterface, BRect bounds, 2916ed1e1dSAxel Dörfler color_space space, int32 flags, int32 bytesPerRow = -1, 3016ed1e1dSAxel Dörfler screen_id screen = B_MAIN_SCREEN_ID, 3116ed1e1dSAxel Dörfler int8* _allocationType = NULL); 3216ed1e1dSAxel Dörfler void DeleteBitmap(ServerBitmap* bitmap); 3316ed1e1dSAxel Dörfler 3416ed1e1dSAxel Dörfler protected: 3516ed1e1dSAxel Dörfler BList fBitmapList; 3616ed1e1dSAxel Dörfler BLocker fLock; 3716ed1e1dSAxel Dörfler }; 3816ed1e1dSAxel Dörfler 3916ed1e1dSAxel Dörfler extern BitmapManager *gBitmapManager; 4016ed1e1dSAxel Dörfler 4116ed1e1dSAxel Dörfler #endif /* BITMAP_MANAGER_H */ 42