2009-09-12 Chris Toshok <toshok@ximian.com>
[moon.git] / src / writeablebitmap.h
blob107d0870e961066bcb4caa2f294e216fc9ee7ced
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3 * writeablebitmap.h
5 * Contact:
6 * Moonlight List (moonlight-list@lists.ximian.com)
8 * Copyright 2007-2008 Novell, Inc. (http://www.novell.com)
10 * See the LICENSE file included with the distribution for details.
14 #ifndef __WRITEABLEBITMAP_H__
15 #define __WRITEABLEBITMAP_H__
17 #include "dependencyobject.h"
18 #include "bitmapsource.h"
20 /* @Namespace=System.Windows.Media.Imaging */
21 class WriteableBitmap : public BitmapSource {
22 private:
23 pthread_mutex_t surface_mutex;
25 protected:
26 virtual ~WriteableBitmap ();
28 public:
29 /* @GenerateCBinding,GeneratePInvoke */
30 WriteableBitmap ();
32 /* @GenerateCBinding,GeneratePInvoke */
33 gpointer InitializeFromBitmapSource (BitmapSource *source);
35 /* @GenerateCBinding,GeneratePInvoke */
36 virtual void Render (UIElement *element, Transform *transform);
37 /* @GenerateCBinding,GeneratePInvoke */
38 virtual void Lock ();
39 /* @GenerateCBinding,GeneratePInvoke */
40 virtual void Unlock ();
42 virtual cairo_surface_t *GetSurface (cairo_t *cr);
45 #endif /* __WRITEABLEBITMAP_H__ */