summaryrefslogtreecommitdiffstats
path: root/vncviewer/OSXPixelBuffer.h
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2011-06-17 07:35:56 +0000
committerPierre Ossman <ossman@cendio.se>2011-06-17 07:35:56 +0000
commitc18753c3ee9d55f0454e7e02571f7ab636333e64 (patch)
tree285df0279926e0147f56866ded6acfb38012794f /vncviewer/OSXPixelBuffer.h
parent84483e93176d34832fd41679eb485e7a9618b296 (diff)
downloadtigervnc-c18753c3ee9d55f0454e7e02571f7ab636333e64.tar.gz
tigervnc-c18753c3ee9d55f0454e7e02571f7ab636333e64.zip
Implement optimised drawing operations for OS X. Didn't see any reduction in
CPU usage unfortunately, but at least we're now using the native pixel format of our server which avoids a conversion on the server side. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4504 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'vncviewer/OSXPixelBuffer.h')
-rw-r--r--vncviewer/OSXPixelBuffer.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/vncviewer/OSXPixelBuffer.h b/vncviewer/OSXPixelBuffer.h
new file mode 100644
index 00000000..a74830c2
--- /dev/null
+++ b/vncviewer/OSXPixelBuffer.h
@@ -0,0 +1,37 @@
+/* Copyright 2011 Pierre Ossman <ossman@cendio.se> for Cendio AB
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * USA.
+ */
+
+#ifndef __OSXPIXELBUFFER_H__
+#define __OSXPIXELBUFFER_H__
+
+#include <rfb/PixelBuffer.h>
+
+class PlatformPixelBuffer: public rfb::ManagedPixelBuffer {
+public:
+ PlatformPixelBuffer(int width, int height);
+ ~PlatformPixelBuffer();
+
+ void draw(int src_x, int src_y, int x, int y, int w, int h);
+
+protected:
+ // This is really a CGImageRerf, but Apple headers conflict with FLTK
+ void *image;
+};
+
+
+#endif