⛏️ index : haiku.git

/*
 * Copyright 2014 Freeman Lou <freemanlou2430@yahoo.com>
 * All rights reserved. Distributed under the terms of the MIT license.
 */
#ifndef VIRTUAL_KEYBOARD_WINDOW_H
#define VIRTUAL_KEYBOARD_WINDOW_H

#include <InputServerDevice.h>
#include <Window.h>

#include "Keymap.h"

class KeyboardLayoutView;
class Keymap;
class BDirectory;
class BListView;
class BMenu;

static const uint32 kKeymapChange = 'vKCG';


class VirtualKeyboardWindow : public BWindow {
public:
							VirtualKeyboardWindow(BInputServerDevice* dev);
		virtual void		MessageReceived(BMessage* message);
		virtual void		ScreenChanged(BRect screenRect, color_space depth);

private:
		KeyboardLayoutView* fKeyboardView;
		BListView*			fMapListView;
		BMenu*				fFontMenu;
		BMenu*				fLayoutMenu;
		Keymap				fCurrentKeymap;
		BInputServerDevice*	fDevice;

private:
				void		_LoadLayouts(BMenu* menu);
				void		_LoadLayoutMenu(BMenu* menu, BDirectory directory);
				void		_LoadMaps();
				void		_LoadFonts();
};

#endif // VIRTUAL_KEYBOARD_WINDOW_H