]> git.sesse.net Git - vlc/blobdiff - activex/plugin.h
* modules/access/dvdnav.c: backport of #11306.
[vlc] / activex / plugin.h
index 9ad92348863cc717d21c47d5c163493c2e7a5bbb..dd029891239b71ca6a2cd26f239575601bb72f09 100644 (file)
@@ -116,9 +116,10 @@ public:
     void setVisible(BOOL fVisible);
     BOOL getVisible(void) { return _b_visible; };
 
+    
     // container events
     void onPositionChange(LPCRECT lprcPosRect, LPCRECT lprcClipRect);
-    void onPaint(PAINTSTRUCT &ps, RECT &pr);
+    void onPaint(HDC hdc, const RECT &bounds, const RECT &pr);
 
     // control events
     void firePropChangedEvent(DISPID dispid);
@@ -126,14 +127,19 @@ public:
     void fireOnPauseEvent(void);
     void fireOnStopEvent(void);
 
+    // control size in HIMETRIC
+    const SIZEL& getExtent(void) { return _extent; };
+    void  setExtent(const SIZEL& extent) { _extent = extent; };
+
+    // control geometry within container
+    RECT getPosRect(void) { return _posRect; }; 
+
 protected:
 
     virtual ~VLCPlugin();
 
 private:
 
-    void calcPositionChange(LPRECT lprPosRect, LPCRECT lprcClipRect);
-
     //implemented interfaces
     class VLCOleObject *vlcOleObject;
     class VLCOleControl *vlcOleControl;
@@ -146,12 +152,12 @@ private:
     class VLCConnectionPointContainer *vlcConnectionPointContainer;
     class VLCObjectSafety *vlcObjectSafety;
     class VLCControl *vlcControl;
+    class VLCViewObject *vlcViewObject;
 
     // in place activated window (Clipping window)
     HWND _inplacewnd;
     // video window (Drawing window)
     HWND _videownd;
-    RECT _bounds;
 
     VLCPluginClass *_p_class;
     ULONG _i_ref;
@@ -162,7 +168,10 @@ private:
     BOOL _b_loopmode;
     BOOL _b_visible;
     BOOL _b_sendevents;
-    int _i_vlc;
+    int  _i_vlc;
+
+    SIZEL _extent;
+    RECT _posRect;
 };
 
 #endif