Changeset 3153 in vbox for trunk/src/VBox/Main/include
- Timestamp:
- Jun 19, 2007 9:40:23 AM (18 years ago)
- Location:
- trunk/src/VBox/Main/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/ConsoleVRDPServer.h
r2981 r3153 79 79 * Forwarders to VRDP server library. 80 80 */ 81 void SendUpdate ( void *pvUpdate, uint32_t cbUpdate) const;81 void SendUpdate (unsigned uScreenId, void *pvUpdate, uint32_t cbUpdate) const; 82 82 void SendResize (void) const; 83 void SendUpdateBitmap (u int32_t x, uint32_t y, uint32_t w, uint32_t h) const;83 void SendUpdateBitmap (unsigned uScreenId, uint32_t x, uint32_t y, uint32_t w, uint32_t h) const; 84 84 void SetFramebuffer (IFramebuffer *framebuffer, uint32_t fFlags) const; 85 85 … … 113 113 static void (VBOXCALL *mpfnVRDPSetCallback) (HVRDPSERVER hServer, VRDPSERVERCALLBACK *pcallback, void *pvUser); 114 114 static void (VBOXCALL *mpfnVRDPShutdownServer) (HVRDPSERVER hServer); 115 static void (VBOXCALL *mpfnVRDPSendUpdateBitmap)(HVRDPSERVER hServer, unsigned x, unsigned y, unsigned w, unsigned h);115 static void (VBOXCALL *mpfnVRDPSendUpdateBitmap)(HVRDPSERVER hServer, unsigned uScreenId, unsigned x, unsigned y, unsigned w, unsigned h); 116 116 static void (VBOXCALL *mpfnVRDPSendResize) (HVRDPSERVER hServer); 117 117 static void (VBOXCALL *mpfnVRDPSendAudioSamples)(HVRDPSERVER hserver, void *pvSamples, uint32_t cSamples, VRDPAUDIOFORMAT format); … … 122 122 static void (VBOXCALL *mpfnVRDPSendUSBRequest) (HVRDPSERVER hserver, void *pvParms, uint32_t cbParms); 123 123 #endif /* VRDP_MC */ 124 static void (VBOXCALL *mpfnVRDPSendUpdate) (HVRDPSERVER hServer, void *pvUpdate, uint32_t cbUpdate);124 static void (VBOXCALL *mpfnVRDPSendUpdate) (HVRDPSERVER hServer, unsigned uScreenId, void *pvUpdate, uint32_t cbUpdate); 125 125 static void (VBOXCALL *mpfnVRDPQueryInfo) (HVRDPSERVER hserver, uint32_t index, void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut); 126 126 static void (VBOXCALL *mpfnVRDPClipboard) (HVRDPSERVER hserver, uint32_t u32Function, uint32_t u32Format, const void *pvData, uint32_t cbData, uint32_t *pcbActualRead); -
trunk/src/VBox/Main/include/DisplayImpl.h
r3110 r3153 24 24 25 25 #include "VirtualBoxBase.h" 26 #include "SchemaDefs.h" 26 27 #include <iprt/semaphore.h> 27 28 #include <VBox/pdm.h> 28 29 #include <VBox/VBoxGuest.h> 30 #include <VBox/VBoxVideo.h> 29 31 30 32 class Console; 33 34 enum { 35 ResizeStatus_Void, 36 ResizeStatus_InProgress, 37 ResizeStatus_UpdateDisplayData 38 }; 39 40 typedef struct _DISPLAYFBINFO 41 { 42 uint32_t u32Offset; 43 uint32_t u32MaxFramebufferSize; 44 uint32_t u32InformationSize; 45 46 ComPtr<IFramebuffer> pFramebuffer; 47 48 LONG xOrigin; 49 LONG yOrigin; 50 51 ULONG w; 52 ULONG h; 53 54 VBOXVIDEOINFOHOSTEVENTS *pHostEvents; 55 56 volatile uint32_t u32ResizeStatus; 57 58 /* The Framebuffer has default format and must be updates immediately. */ 59 bool fDefaultFormat; 60 61 struct { 62 /* The rectangle that includes all dirty rectangles. */ 63 int32_t xLeft; 64 int32_t xRight; 65 int32_t yTop; 66 int32_t yBottom; 67 } dirtyRect; 68 69 } DISPLAYFBINFO; 31 70 32 71 class ATL_NO_VTABLE Display : … … 59 98 60 99 // public methods only for internal purposes 61 int handleDisplayResize (u int32_t bpp, void *pvVRAM, uint32_t cbLine, int w, int h);100 int handleDisplayResize (unsigned uScreenId, uint32_t bpp, void *pvVRAM, uint32_t cbLine, int w, int h); 62 101 void handleDisplayUpdate (int x, int y, int cx, int cy); 63 102 IFramebuffer *getFramebuffer() 64 103 { 65 return m Framebuffer;104 return maFramebuffers[VBOX_VIDEO_PRIMARY_SCREEN].pFramebuffer; 66 105 } 67 106 … … 138 177 STDMETHOD(UnlockFramebuffer)(); 139 178 STDMETHOD(RegisterExternalFramebuffer)(IFramebuffer *frameBuf); 179 STDMETHOD(SetFramebuffer)(ULONG aScreenId, IFramebuffer * aFramebuffer); 180 STDMETHOD(QueryFramebuffer)(ULONG aScreenId, IFramebuffer * * aFramebuffer, LONG * aXOrigin, LONG * aYOrigin); 140 181 STDMETHOD(SetVideoModeHint)(ULONG width, ULONG height, ULONG colorDepth, ULONG display); 141 182 STDMETHOD(TakeScreenShot)(BYTE *address, ULONG width, ULONG height); 142 183 STDMETHOD(DrawToScreen)(BYTE *address, ULONG x, ULONG y, ULONG width, ULONG height); 143 184 STDMETHOD(InvalidateAndUpdate)(); 144 STDMETHOD(ResizeCompleted)( );185 STDMETHOD(ResizeCompleted)(ULONG aScreenId); 145 186 STDMETHOD(UpdateCompleted)(); 146 187 … … 155 196 156 197 static DECLCALLBACK(int) changeFramebuffer (Display *that, IFramebuffer *aFB, 157 bool aInternal );198 bool aInternal, unsigned uScreenId); 158 199 159 200 static DECLCALLBACK(void*) drvQueryInterface(PPDMIBASE pInterface, PDMINTERFACE enmInterface); … … 166 207 static DECLCALLBACK(void) displayResetCallback(PPDMIDISPLAYCONNECTOR pInterface); 167 208 static DECLCALLBACK(void) displayLFBModeChangeCallback(PPDMIDISPLAYCONNECTOR pInterface, bool fEnabled); 209 static DECLCALLBACK(void) displayProcessAdapterDataCallback(PPDMIDISPLAYCONNECTOR pInterface, void *pvVRAM, uint32_t u32VRAMSize); 210 static DECLCALLBACK(void) displayProcessDisplayDataCallback(PPDMIDISPLAYCONNECTOR pInterface, void *pvVRAM, unsigned uScreenId); 168 211 169 212 ComObjPtr <Console, ComWeakRef> mParent; … … 175 218 bool mfVMMDevInited; 176 219 bool mInternalFramebuffer; 177 ComPtr<IFramebuffer> mFramebuffer; 220 // ComPtr<IFramebuffer> mFramebuffer; 221 222 unsigned mcMonitors; 223 DISPLAYFBINFO maFramebuffers[SchemaDefs::MaxGuestMonitors]; 224 178 225 bool mFramebufferOpened; 179 226 /** bitmask of acceleration operations supported by current framebuffer */ … … 206 253 207 254 void handleResizeCompletedEMT (void); 208 volatile uint32_t mu32ResizeStatus; 209 210 enum { 211 ResizeStatus_Void, 212 ResizeStatus_InProgress, 213 ResizeStatus_UpdateDisplayData 214 }; 255 // volatile uint32_t mu32ResizeStatus; 215 256 }; 216 257 -
trunk/src/VBox/Main/include/FramebufferImpl.h
r2981 r3153 63 63 ULONG w, ULONG h, 64 64 BOOL *finished); 65 STDMETHOD(RequestResize)( FramebufferPixelFormat_T pixelFormat, BYTE *vram,65 STDMETHOD(RequestResize)(ULONG uScreenId, FramebufferPixelFormat_T pixelFormat, BYTE *vram, 66 66 ULONG lineSize, ULONG w, ULONG h, 67 67 BOOL *finished);
Note:
See TracChangeset
for help on using the changeset viewer.