2009-10-05 Chris Toshok <toshok@ximian.com>
[moon.git] / plugin / windowless.h
bloba1624e7007b787d6e5e184585872e61b1e5f466d
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 /*
3 * windowless.h: windowless plugin's MoonWindow implementation
5 * Contact:
6 * Moonlight List (moonlight-list@lists.ximian.com)
8 * Copyright 2008 Novell, Inc. (http://www.novell.com)
10 * See the LICENSE file included with the distribution for details.
14 #ifndef __MOON_WINDOWLESS__
15 #define __MOON_WINDOWLESS__
17 #include "moonlight.h"
18 #include "runtime.h"
19 #include "plugin.h"
21 class MoonWindowless : public MoonWindow {
22 PluginInstance *plugin;
23 VisualID visualid;
24 int x;
25 int y;
27 void UpdateWindowInfo ();
29 public:
30 MoonWindowless (int width, int height, PluginInstance *plugin);
32 virtual void Resize (int width, int height);
34 virtual void SetCursor (MouseCursor cursor);
35 virtual void Invalidate (Rect r);
36 virtual void ProcessUpdates ();
38 virtual gboolean HandleEvent (XEvent *event);
40 virtual void Show ();
41 virtual void Hide ();
43 virtual void EnableEvents (bool first);
44 virtual void DisableEvents ();
46 virtual void GrabFocus ();
47 virtual bool HasFocus ();
49 virtual void SetSurface (Surface *s);
51 virtual bool IsFullScreen () { return false; }
53 virtual GdkWindow* GetGdkWindow ();
56 #endif /* __MOON_WINDOWLESS__ */