[vlc-commits] windowless-mac: really draw a transparent background below the video instead of something black

Felix Paul Kühne git at videolan.org
Sat May 18 10:23:39 CEST 2013


npapi-vlc | branch: master | Felix Paul Kühne <fkuehne at videolan.org> | Sat May 18 09:15:21 2013 +0200| [33d6acef978e252f170f1c691532db3a05d7a546] | committer: Felix Paul Kühne

windowless-mac: really draw a transparent background below the video instead of something black

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=33d6acef978e252f170f1c691532db3a05d7a546
---

 npapi/vlcwindowless_mac.cpp |   32 ++++----------------------------
 npapi/vlcwindowless_mac.h   |    1 -
 2 files changed, 4 insertions(+), 29 deletions(-)

diff --git a/npapi/vlcwindowless_mac.cpp b/npapi/vlcwindowless_mac.cpp
index a578948..2c555fb 100644
--- a/npapi/vlcwindowless_mac.cpp
+++ b/npapi/vlcwindowless_mac.cpp
@@ -35,29 +35,6 @@ VlcWindowlessMac::~VlcWindowlessMac()
     CGColorSpaceRelease(colorspace);
 }
 
-void VlcWindowlessMac::drawBackground(CGContextRef cgContext)
-{
-    float windowWidth = npwindow.width;
-    float windowHeight = npwindow.height;
-
-    CGContextSaveGState(cgContext);
-
-    // this context is flipped..
-    CGContextTranslateCTM(cgContext, 0.0, windowHeight);
-    CGContextScaleCTM(cgContext, 1., -1.);
-
-    // fetch background color
-    unsigned r = 0, g = 0, b = 0;
-    HTMLColor2RGB(get_options().get_bg_color().c_str(), &r, &g, &b);
-
-    // draw background
-    CGContextAddRect(cgContext, CGRectMake(0, 0, windowWidth, windowHeight));
-    CGContextSetRGBFillColor(cgContext,r/255.,g/255.,b/255.,1.);
-    CGContextDrawPath(cgContext, kCGPathFill);
-
-    CGContextRestoreGState(cgContext);
-}
-
 void VlcWindowlessMac::drawNoPlayback(CGContextRef cgContext)
 {
     float windowWidth = npwindow.width;
@@ -171,7 +148,7 @@ bool VlcWindowlessMac::handle_event(void *event)
             return true;
         }
 
-        drawBackground(cgContext);
+        CGContextClearRect(cgContext, CGRectMake(0, 0, npwindow.width, npwindow.height) );
 
         if(!VlcPluginBase::player_has_vout())
             return true;
@@ -191,12 +168,11 @@ bool VlcWindowlessMac::handle_event(void *event)
         static const size_t kComponentsPerPixel = 4;
         static const size_t kBitsPerComponent = sizeof(unsigned char) * 8;
 
-
         /* render frame */
         CFDataRef dataRef = CFDataCreateWithBytesNoCopy(kCFAllocatorDefault,
-                                                          (const uint8_t *)&m_frame_buf[0],
-                                                          sizeof(m_frame_buf[0]),
-                                                          kCFAllocatorNull);
+                                                        (const uint8_t *)&m_frame_buf[0],
+                                                        sizeof(m_frame_buf[0]),
+                                                        kCFAllocatorNull);
         CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData(dataRef);
         CGImageRef image = CGImageCreate(m_media_width,
                                          m_media_height,
diff --git a/npapi/vlcwindowless_mac.h b/npapi/vlcwindowless_mac.h
index 8288e34..bd5202c 100644
--- a/npapi/vlcwindowless_mac.h
+++ b/npapi/vlcwindowless_mac.h
@@ -36,7 +36,6 @@ public:
     NPError get_root_layer(void *value);
 
 protected:
-    void drawBackground(CGContextRef cgContext);
     void drawNoPlayback(CGContextRef cgContext);
 
 private:



More information about the vlc-commits mailing list