UIFrameBufferQImage.cpp revision e64031e20c39650a7bc902a3e1aba613b9415dee
* VBox frontends: Qt GUI ("VirtualBox"): * UIFrameBufferQImage class implementation * Copyright (C) 2010 Oracle Corporation * This file is part of VirtualBox Open Source Edition (OSE), as * you can redistribute it and/or modify it under the terms of the GNU * General Public License (GPL) as published by the Free Software * Foundation, in version 2 as it comes in the "COPYING" file of the * VirtualBox OSE distribution. VirtualBox OSE is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. #
else /* !VBOX_WITH_PRECOMPILED_HEADERS */#
endif /* !VBOX_WITH_PRECOMPILED_HEADERS *//** @class UIFrameBufferQImage * The UIFrameBufferQImage class is a class that implements the IFrameBuffer * interface and uses QImage as the direct storage for VM display data. QImage * is then converted to QPixmap and blitted to the console view widget. /* Initialize the framebuffer the first time */ /** @note This method is called on EMT from under this object's lock */ /* We're not on the GUI thread and update() isn't thread safe in * Qt 4.3.x on the Win, Qt 3.3.x on the Mac (4.2.x is), * on Linux (didn't check Qt 4.x there) and probably on other * non-DOS platforms, so post the event instead. */ /* Some outdated rectangle during processing UIResizeEvent */ /* This method is faster for narrow updates */ /* This method is faster for wide updates */ LogFlowFunc ((
"fmt=%d, vram=%p, bpp=%d, bpl=%d, width=%d, height=%d\n",
/* check if we support the pixel format and can use the guest VRAM directly */ /* 32-, 8- and 1-bpp are the only depths supported by QImage */ /* QImage only supports 32-bit aligned scan lines... */ /* ...and the scan lines ought to be a whole number of pixels. */ /* we don't support either the pixel format or the color depth, * bFallback to a self-provided 32bpp RGB buffer */ #
endif /* VBOX_GUI_USE_QIMAGE */