VirtualBox

source: vbox/trunk/src/VBox/Frontends/VBoxFB/Framebuffer.h@ 4076

Last change on this file since 4076 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/** @file
2 *
3 * VBox frontends: Framebuffer (FB, DirectFB):
4 * Declaration of VBoxDirectFB class
5 */
6
7/*
8 * Copyright (C) 2006-2007 innotek GmbH
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License as published by the Free Software Foundation,
14 * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
15 * distribution. VirtualBox OSE is distributed in the hope that it will
16 * be useful, but WITHOUT ANY WARRANTY of any kind.
17 */
18
19#ifndef __H_FRAMEBUFFER
20#define __H_FRAMEBUFFER
21
22#include "VBoxFB.h"
23
24class VBoxDirectFB : public IFramebuffer
25{
26public:
27 VBoxDirectFB(IDirectFB *aDFB, IDirectFBSurface *aSurface);
28 virtual ~VBoxDirectFB();
29
30 NS_DECL_ISUPPORTS
31
32 NS_IMETHOD GetWidth(uint32 *width);
33 NS_IMETHOD GetHeight(uint32_t *height);
34 NS_IMETHOD Lock();
35 NS_IMETHOD Unlock();
36 NS_IMETHOD GetAddress(uint32_t *address);
37 NS_IMETHOD GetBitsPerPixel(uint32_t *bitsPerPixel);
38 NS_IMETHOD GetBytesPerLine(uint32_t *bytesPerLine);
39 NS_IMETHOD GetPixelFormat(ULONG *pixelFormat);
40 NS_IMETHOD GetUsesGuestVRAM(BOOL *usesGuestVRAM);
41 NS_IMETHOD NotifyUpdate(uint32_t x, uint32_t y,
42 uint32_t w, uint32_t h, PRBool *finished);
43 NS_IMETHOD RequestResize(ULONG aScreenId, ULONG pixelFormat, uint32_t vram,
44 uint32_t bitsPerPixel, uint32_t bytesPerLine,
45 uint32_t w, uint32_t h,
46 PRBool *finished);
47private:
48 int createSurface(uint32_t w, uint32_t h);
49
50 IDirectFB *dfb;
51 IDirectFBSurface *surface;
52 uint32_t screenWidth;
53 uint32_t screenHeight;
54 IDirectFBSurface *fbInternalSurface;
55 void *fbBufferAddress;
56 uint32_t fbWidth;
57 uint32_t fbHeight;
58 uint32_t fbPitch;
59 int fbSurfaceLocked;
60};
61
62
63#endif // __H_FRAMEBUFFER
64
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette