1 /*!
2 	@file
3 	@author		George Evmenov
4 	@date		02/2011
5 */
6 #ifndef WINDOW_DELEGATE_H_
7 #define WINDOW_DELEGATE_H_
8 
9 #include "MyGUI_Prerequest.h"
10 #include <string>
11 #include "Buffer.h"
12 #include <berkelium/WindowDelegate.hpp>
13 
14 namespace MyGUI
15 {
16 
17 	class BerkeliumWidget;
18 
19 	class MYGUI_EXPORT_DLL BerkeliumDelegate :
20 		public Berkelium::WindowDelegate
21 	{
22 	public:
23 		BerkeliumDelegate();
24 
25 		void setWindow(Berkelium::Window* _window);
26 		void setBuffer(helpers::Buffer* _buffer);
27 		void setWidget(MyGUI::BerkeliumWidget* _widget);
28 
29 	protected:
30 		virtual void onPaint(
31 			Berkelium::Window *win,
32 			const unsigned char *sourceBuffer,
33 			const Berkelium::Rect &sourceBufferRect,
34 			size_t numCopyRects,
35 			const Berkelium::Rect *copyRects,
36 			int dx, int dy,
37 			const Berkelium::Rect &scrollRect);
38 
39 		virtual void onCursorUpdated(Berkelium::Window *win, const Berkelium::Cursor& newCursor);
40 
41 	private:
42 		Berkelium::Window* mWindow;
43 		helpers::Buffer* mBuffer;
44 		MyGUI::BerkeliumWidget* mWidget;
45 	};
46 
47 } // namespace MyGUI
48 
49 #endif // WINDOW_DELEGATE_H_
50