Welcome to mirror list, hosted at ThFree Co, Russian Federation.

VTFar2lExtensios.h « vt « src « far2l - github.com/elfmz/far2l.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 707a6c8f95ab3c03a42e704e74e834163675b337 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
#include <WinCompat.h>
#include <WinPort.h>
#include <StackSerializer.h>
#include <string>
#include <set>
#include "vtansi.h"

class VTFar2lExtensios
{
	uint64_t _xfeatures = 0;
	int _clipboard_opens = 0;
	int _ctrl_alt_c_counter = 0;

	DWORD _clipboard_read_allowance = 0;
	int _clipboard_read_allowance_prolongs = 0;

	std::string _tmp_input_event;
	IVTShell *_vt_shell;

	std::set<std::string> _autheds;
	std::vector<unsigned char> _clipboard_chunks;

	char ClipboardAuthorize(const std::string &client_id);

	bool IsAllowedClipboardRead();
	void AllowClipboardRead(bool prolong);

	void OnInterract_ClipboardOpen(StackSerializer &stk_ser);
	void OnInterract_ClipboardClose(StackSerializer &stk_ser);
	void OnInterract_ClipboardEmpty(StackSerializer &stk_ser);
	void OnInterract_ClipboardIsFormatAvailable(StackSerializer &stk_ser);
	void OnInterract_ClipboardSetDataChunk(StackSerializer &stk_ser);
	void OnInterract_ClipboardSetData(StackSerializer &stk_ser);
	void OnInterract_ClipboardGetData(StackSerializer &stk_ser);
	void OnInterract_ClipboardGetDataID(StackSerializer &stk_ser);
	void OnInterract_ClipboardRegisterFormat(StackSerializer &stk_ser);
	void OnInterract_Clipboard(StackSerializer &stk_ser);
	void OnInterract_GetLargestWindowSize(StackSerializer &stk_ser);
	void OnInterract_ChangeCursorHeigth(StackSerializer &stk_ser);
	void OnInterract_DisplayNotification(StackSerializer &stk_ser);
	void OnInterract_SetFKeyTitles(StackSerializer &stk_ser);

	void WriteInputEvent(const StackSerializer &stk_ser);
public:
	VTFar2lExtensios(IVTShell *vt_shell);
	~VTFar2lExtensios();

	bool OnInputMouse(const MOUSE_EVENT_RECORD &MouseEvent);
	bool OnInputKey(const KEY_EVENT_RECORD &KeyEvent);
	void OnInterract(StackSerializer &stk_ser);
};