Changeset 19798 in vbox for trunk/src/VBox/Main
- Timestamp:
- May 18, 2009 3:50:20 PM (16 years ago)
- Location:
- trunk/src/VBox/Main
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/DisplayImpl.cpp
r19588 r19798 1990 1990 that->mInternalFramebuffer = aInternal; 1991 1991 that->mSupportedAccelOps = 0; 1992 1993 /* determine which acceleration functions are supported by this framebuffer */1994 if (aFB && !aInternal)1995 {1996 HRESULT rc;1997 BOOL accelSupported = FALSE;1998 rc = aFB->OperationSupported (1999 FramebufferAccelerationOperation_SolidFillAcceleration, &accelSupported);2000 AssertComRC (rc);2001 if (accelSupported)2002 that->mSupportedAccelOps |=2003 FramebufferAccelerationOperation_SolidFillAcceleration;2004 accelSupported = FALSE;2005 rc = aFB->OperationSupported (2006 FramebufferAccelerationOperation_ScreenCopyAcceleration, &accelSupported);2007 AssertComRC (rc);2008 if (accelSupported)2009 that->mSupportedAccelOps |=2010 FramebufferAccelerationOperation_ScreenCopyAcceleration;2011 }2012 1992 2013 1993 that->mParent->consoleVRDPServer()->SendResize (); -
trunk/src/VBox/Main/FramebufferImpl.cpp
r14972 r19798 177 177 } 178 178 179 STDMETHODIMP InternalFramebuffer::OperationSupported(FramebufferAccelerationOperation_T operation,180 BOOL *supported)181 {182 CheckComArgOutPointerValid(supported);183 /* no acceleration please, we're a slow fallback implementation! */184 *supported = false;185 return S_OK;186 }187 188 179 STDMETHODIMP InternalFramebuffer::VideoModeSupported(ULONG width, ULONG height, ULONG bpp, 189 180 BOOL *supported) … … 195 186 } 196 187 197 STDMETHODIMP InternalFramebuffer::SolidFill(ULONG x, ULONG y, ULONG width, ULONG height,198 ULONG color, BOOL *handled)199 {200 CheckComArgOutPointerValid(handled);201 /* eek, what do you expect from us?! */202 *handled = false;203 return S_OK;204 }205 206 STDMETHODIMP InternalFramebuffer::CopyScreenBits(ULONG xDst, ULONG yDst, ULONG xSrc, ULONG ySrc,207 ULONG width, ULONG height, BOOL *handled)208 {209 CheckComArgOutPointerValid(handled);210 /* eek, what do you expect from us?! */211 *handled = false;212 return S_OK;213 }214 215 188 STDMETHODIMP InternalFramebuffer::GetVisibleRegion(BYTE *aRectangles, ULONG aCount, 216 189 ULONG *aCountCopied) -
trunk/src/VBox/Main/cbinding/VBoxCAPI_v2_2.h
r18896 r19798 1181 1181 1182 1182 1183 /* Start of enum FramebufferAccelerationOperation Declaration */1184 #define FRAMEBUFFERACCELERATIONOPERATION_IID_STR "f0e5ebbe-dc8e-4e2d-916e-53baa3844df8"1185 #define FRAMEBUFFERACCELERATIONOPERATION_IID { \1186 0xf0e5ebbe, 0xdc8e, 0x4e2d, \1187 { 0x91, 0x6e, 0x53, 0xba, 0xa3, 0x84, 0x4d, 0xf8 } \1188 }1189 enum FramebufferAccelerationOperation1190 {1191 FramebufferAccelerationOperation_SolidFillAcceleration = 1,1192 FramebufferAccelerationOperation_ScreenCopyAcceleration = 21193 };1194 /* End of enum FramebufferAccelerationOperation Declaration */1195 1196 1197 1183 /* Start of enum FramebufferPixelFormat Declaration */ 1198 1184 #define FRAMEBUFFERPIXELFORMAT_IID_STR "7acfd5ed-29e3-45e3-8136-73c9224f3d2d" … … 3757 3743 ); 3758 3744 3759 nsresult (*OperationSupported)(3760 IFramebuffer *pThis,3761 PRUint32 operation,3762 PRBool * supported3763 );3764 3765 3745 nsresult (*VideoModeSupported)( 3766 3746 IFramebuffer *pThis, … … 3769 3749 PRUint32 bpp, 3770 3750 PRBool * supported 3771 );3772 3773 nsresult (*SolidFill)(3774 IFramebuffer *pThis,3775 PRUint32 x,3776 PRUint32 y,3777 PRUint32 width,3778 PRUint32 height,3779 PRUint32 color,3780 PRBool * handled3781 );3782 3783 nsresult (*CopyScreenBits)(3784 IFramebuffer *pThis,3785 PRUint32 xDst,3786 PRUint32 yDst,3787 PRUint32 xSrc,3788 PRUint32 ySrc,3789 PRUint32 width,3790 PRUint32 height,3791 PRBool * handled3792 3751 ); 3793 3752 -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r19695 r19798 10248 10248 10249 10249 <enum 10250 name="FramebufferAccelerationOperation"10251 uuid="f0e5ebbe-dc8e-4e2d-916e-53baa3844df8"10252 >10253 <desc>10254 Frame buffer acceleration operation.10255 </desc>10256 10257 <const name="SolidFillAcceleration" value="1"/>10258 <const name="ScreenCopyAcceleration" value="2"/>10259 </enum>10260 10261 <enum10262 10250 name="FramebufferPixelFormat" 10263 10251 uuid="7acfd5ed-29e3-45e3-8136-73c9224f3d2d" … … 10288 10276 <interface 10289 10277 name="IFramebuffer" extends="$unknown" 10290 uuid=" af431304-5b09-40e2-94da-3c3cb03822c1"10278 uuid="3ce29e6d-835a-4283-8ee0-eb9971b81d81" 10291 10279 wsmap="suppress" 10292 10280 > … … 10519 10507 </method> 10520 10508 10521 <method name="operationSupported">10522 <desc>10523 Returns whether the given acceleration operation is supported10524 by the IFramebuffer implementation. If not, the display object10525 will not attempt to call the corresponding IFramebuffer entry10526 point. Even if an operation is indicated as supported, the10527 IFramebuffer implementation always has the option to return non10528 supported from the corresponding acceleration method in which10529 case the operation will be performed by the display engine. This10530 allows for reduced IFramebuffer implementation complexity where10531 only common cases are handled.10532 </desc>10533 <param name="operation" type="FramebufferAccelerationOperation" dir="in"/>10534 <param name="supported" type="boolean" dir="return"/>10535 </method>10536 10537 10509 <method name="videoModeSupported"> 10538 10510 <desc> … … 10549 10521 <param name="bpp" type="unsigned long" dir="in"/> 10550 10522 <param name="supported" type="boolean" dir="return"/> 10551 </method>10552 10553 <method name="solidFill">10554 <desc>10555 Fills the specified rectangle on screen with a solid color.10556 </desc>10557 <param name="x" type="unsigned long" dir="in"/>10558 <param name="y" type="unsigned long" dir="in"/>10559 <param name="width" type="unsigned long" dir="in"/>10560 <param name="height" type="unsigned long" dir="in"/>10561 <param name="color" type="unsigned long" dir="in"/>10562 <param name="handled" type="boolean" dir="return"/>10563 </method>10564 10565 <method name="copyScreenBits">10566 <desc>10567 Copies specified rectangle on the screen.10568 </desc>10569 <param name="xDst" type="unsigned long" dir="in"/>10570 <param name="yDst" type="unsigned long" dir="in"/>10571 <param name="xSrc" type="unsigned long" dir="in"/>10572 <param name="ySrc" type="unsigned long" dir="in"/>10573 <param name="width" type="unsigned long" dir="in"/>10574 <param name="height" type="unsigned long" dir="in"/>10575 <param name="handled" type="boolean" dir="return"/>10576 10523 </method> 10577 10524 -
trunk/src/VBox/Main/include/FramebufferImpl.h
r19239 r19798 69 69 ULONG bpp, ULONG bpl, ULONG w, ULONG h, 70 70 BOOL *finished); 71 STDMETHOD(OperationSupported)(FramebufferAccelerationOperation_T operation,72 BOOL *supported);73 71 STDMETHOD(VideoModeSupported)(ULONG width, ULONG height, ULONG bpp, BOOL *supported); 74 STDMETHOD(SolidFill)(ULONG x, ULONG y, ULONG width, ULONG height,75 ULONG color, BOOL *handled);76 STDMETHOD(CopyScreenBits)(ULONG xDst, ULONG yDst, ULONG xSrc, ULONG ySrc,77 ULONG width, ULONG height, BOOL *handled);78 72 79 73 STDMETHOD(GetVisibleRegion)(BYTE *aRectangles, ULONG aCount, ULONG *aCountCopied);
Note:
See TracChangeset
for help on using the changeset viewer.