VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBufferQGL.h@ 27682

Last change on this file since 27682 was 27682, checked in by vboxsync, 14 years ago

2d: unified code for VBoxXxx & UIXxx, moved 2D state logic outside QGLWidget

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * UIFrameBuffer class and subclasses declarations
5 */
6
7/*
8 * Copyright (C) 2010 Sun Microsystems, Inc.
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 (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19 * Clara, CA 95054 USA or visit http://www.sun.com if you need
20 * additional information or have any questions.
21 */
22
23#ifndef ___UIFrameBufferQGL_h___
24#define ___UIFrameBufferQGL_h___
25
26/* Global includes */
27#include "UIFrameBuffer.h"
28#if defined (VBOX_GUI_USE_QGLFB)
29#include "VBoxFBOverlay.h"
30
31class UIFrameBufferQGL : public UIFrameBuffer
32{
33public:
34
35 UIFrameBufferQGL(UIMachineView *pMachineView);
36
37 STDMETHOD(NotifyUpdate) (ULONG uX, ULONG uY, ULONG uW, ULONG uH);
38#ifdef VBOXQGL_PROF_BASE
39 STDMETHOD(RequestResize) (ULONG uScreenId, ULONG uPixelFormat,
40 BYTE *pVRAM, ULONG uBitsPerPixel, ULONG uBytesPerLine,
41 ULONG uWidth, ULONG uHeight, BOOL *pbFinished);
42#endif
43
44#ifdef VBOX_WITH_VIDEOHWACCEL
45 STDMETHOD(ProcessVHWACommand)(BYTE *pbCommand);
46#endif
47
48 ulong pixelFormat() { return vboxWidget()->vboxPixelFormat(); }
49 bool usesGuestVRAM() { return vboxWidget()->vboxUsesGuestVRAM(); }
50
51 uchar *address() { return vboxWidget()->vboxAddress(); }
52 ulong bitsPerPixel() { return vboxWidget()->vboxBitsPerPixel(); }
53 ulong bytesPerLine() { return vboxWidget()->vboxBytesPerLine(); }
54
55 void paintEvent (QPaintEvent *pEvent);
56 void resizeEvent (UIResizeEvent *pEvent);
57 void doProcessVHWACommand(QEvent *pEvent);
58
59private:
60
61 class VBoxGLWidget* vboxWidget();
62
63 class VBoxVHWACommandElementProcessor m_cmdPipe;
64};
65#endif
66
67#endif // !___UIFrameBufferQGL_h___
68
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use