bin/pc: Mark non-returning function as void
[haiku.git] / src / servers / app / BitmapManager.h
blob1b454e01259094f40ce4d5daf17756a75b11c563
1 /*
2 * Copyright 2001-2009, Haiku.
3 * Distributed under the terms of the MIT License.
5 * Authors:
6 * DarkWyrm <bpmagic@columbus.rr.com>
7 */
8 #ifndef BITMAP_MANAGER_H
9 #define BITMAP_MANAGER_H
12 #include <GraphicsDefs.h>
13 #include <List.h>
14 #include <Locker.h>
15 #include <OS.h>
16 #include <Rect.h>
19 class ClientMemoryAllocator;
20 class HWInterface;
21 class ServerBitmap;
24 class BitmapManager {
25 public:
26 BitmapManager();
27 virtual ~BitmapManager();
29 ServerBitmap* CreateBitmap(ClientMemoryAllocator* allocator,
30 HWInterface& hwInterface, BRect bounds,
31 color_space space, uint32 flags,
32 int32 bytesPerRow = -1,
33 int32 screen = B_MAIN_SCREEN_ID.id,
34 uint8* _allocationFlags = NULL);
36 ServerBitmap* CloneFromClient(area_id clientArea,
37 int32 areaOffset, BRect bounds,
38 color_space space, uint32 flags,
39 int32 bytesPerRow = -1);
41 void BitmapRemoved(ServerBitmap* bitmap);
43 void SuspendOverlays();
44 void ResumeOverlays();
46 protected:
47 BList fBitmapList;
48 BList fOverlays;
49 BLocker fLock;
52 extern BitmapManager* gBitmapManager;
54 #endif /* BITMAP_MANAGER_H */