touchy-pad 0.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
touchy_pad/__init__.py ADDED
@@ -0,0 +1,21 @@
1
+ """Host library and CLI for the Touchy-Pad USB multitouch device.
2
+
3
+ Public API lives under :mod:`touchy_pad.api` — use that for application
4
+ code::
5
+
6
+ from touchy_pad.api import touchy_open, Screen, button
7
+
8
+ The top-level :class:`TouchyClient` / :class:`UsbTransport` exports
9
+ below remain available but are considered internal building blocks; new
10
+ code should prefer the :mod:`touchy_pad.api` facade.
11
+
12
+ See ``proto/touchy.proto`` in the repository root for the wire format.
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ from .client import TouchyClient
18
+ from .transport import Transport, UsbTransport
19
+
20
+ __all__ = ["TouchyClient", "Transport", "UsbTransport"]
21
+ __version__ = "0.1.0"
@@ -0,0 +1,2 @@
1
+ *_pb2.py
2
+ *_pb2.pyi
@@ -0,0 +1,74 @@
1
+ """Re-exports from the generated protobuf modules.
2
+
3
+ The actual ``touchy_pb2`` and ``widgets_pb2`` modules are generated from
4
+ ``proto/touchy.proto`` and ``proto/widgets.proto`` by ``just build-proto``
5
+ (or ``just build-proto-py``) and committed under ``touchy_pad/_proto/`` so
6
+ the package is installable from PyPI without protoc.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ from .touchy_pb2 import ( # noqa: F401 (re-exported)
12
+ Command,
13
+ Event,
14
+ EventConsumeCmd,
15
+ EventConsumeResponse,
16
+ FileResetCmd,
17
+ FileSaveCmd,
18
+ LvEvent,
19
+ Response,
20
+ ResultCode,
21
+ ScreenLoadCmd,
22
+ ScreenSleepTimeoutCmd,
23
+ ScreenWakeCmd,
24
+ StreamEventsCmd,
25
+ SysBoardInfoGetCmd,
26
+ SysBoardInfoResponse,
27
+ SysRebootBootloaderCmd,
28
+ )
29
+ from .widgets_pb2 import ( # noqa: F401 (re-exported)
30
+ Action,
31
+ ActionDevice,
32
+ ActionHost,
33
+ ActionMacro,
34
+ ActionSwitchScreen,
35
+ AnimPath,
36
+ Arc,
37
+ Button,
38
+ Checkbox,
39
+ ForceRender,
40
+ Fps,
41
+ GridCell,
42
+ Image,
43
+ KeyEvent,
44
+ Label,
45
+ LayoutAbsolute,
46
+ LayoutFlex,
47
+ LayoutGrid,
48
+ LogLine,
49
+ LvState,
50
+ MacroStep,
51
+ MouseMove,
52
+ Rect,
53
+ RippleAnimation,
54
+ Screen,
55
+ Slider,
56
+ Spacer,
57
+ Style,
58
+ StyleProp,
59
+ Switch,
60
+ TextAlign,
61
+ Trackpad,
62
+ Transition,
63
+ Widget,
64
+ )
65
+
66
+ # Convenience aliases so callers can write `_proto.RESULT_OK` without poking
67
+ # into the enum descriptor.
68
+ RESULT_OK = ResultCode.Value("RESULT_OK")
69
+ RESULT_UNKNOWN_ERROR = ResultCode.Value("RESULT_UNKNOWN_ERROR")
70
+ RESULT_INVALID_ARG = ResultCode.Value("RESULT_INVALID_ARG")
71
+ RESULT_NOT_FOUND = ResultCode.Value("RESULT_NOT_FOUND")
72
+ RESULT_NO_SPACE = ResultCode.Value("RESULT_NO_SPACE")
73
+ RESULT_IO_ERROR = ResultCode.Value("RESULT_IO_ERROR")
74
+ RESULT_NOT_SUPPORTED = ResultCode.Value("RESULT_NOT_SUPPORTED")
@@ -0,0 +1,40 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: preferences.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'preferences.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x11preferences.proto\x12\x06touchy\"\xb8\x01\n\x0fPreferencesFile\x12\x35\n\x0c\x66ile_version\x18\x01 \x01(\x0e\x32\x1f.touchy.PreferencesFile.Version\x12\x19\n\x11screen_timeout_ms\x18\x02 \x01(\r\x12\x16\n\x0e\x63urrent_screen\x18\x03 \x01(\t\";\n\x07Version\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02V1\x10\x01\x12\x06\n\x02V2\x10\x02\x12\x0b\n\x07\x43URRENT\x10\x02\x1a\x02\x10\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'preferences_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_PREFERENCESFILE_VERSION']._loaded_options = None
35
+ _globals['_PREFERENCESFILE_VERSION']._serialized_options = b'\020\001'
36
+ _globals['_PREFERENCESFILE']._serialized_start=30
37
+ _globals['_PREFERENCESFILE']._serialized_end=214
38
+ _globals['_PREFERENCESFILE_VERSION']._serialized_start=155
39
+ _globals['_PREFERENCESFILE_VERSION']._serialized_end=214
40
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,72 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: touchy.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'touchy.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0ctouchy.proto\x12\x06touchy\"\x0e\n\x0c\x46ileResetCmd\")\n\x0b\x46ileSaveCmd\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1d\n\rScreenLoadCmd\x12\x0c\n\x04name\x18\x01 \x01(\t\"\x0f\n\rScreenWakeCmd\"+\n\x15ScreenSleepTimeoutCmd\x12\x12\n\ntimeout_ms\x18\x01 \x01(\r\"\x11\n\x0f\x45ventConsumeCmd\"\x18\n\x16SysRebootBootloaderCmd\"\x14\n\x12SysBoardInfoGetCmd\"\xae\x03\n\x07\x43ommand\x12*\n\nfile_reset\x18\x01 \x01(\x0b\x32\x14.touchy.FileResetCmdH\x00\x12(\n\tfile_save\x18\x02 \x01(\x0b\x32\x13.touchy.FileSaveCmdH\x00\x12,\n\x0bscreen_load\x18\x03 \x01(\x0b\x32\x15.touchy.ScreenLoadCmdH\x00\x12,\n\x0bscreen_wake\x18\x04 \x01(\x0b\x32\x15.touchy.ScreenWakeCmdH\x00\x12=\n\x14screen_sleep_timeout\x18\x05 \x01(\x0b\x32\x1d.touchy.ScreenSleepTimeoutCmdH\x00\x12\x30\n\revent_consume\x18\x06 \x01(\x0b\x32\x17.touchy.EventConsumeCmdH\x00\x12?\n\x15sys_reboot_bootloader\x18\t \x01(\x0b\x32\x1e.touchy.SysRebootBootloaderCmdH\x00\x12\x38\n\x12sys_board_info_get\x18\n \x01(\x0b\x32\x1a.touchy.SysBoardInfoGetCmdH\x00\x42\x05\n\x03\x63md\"\xef\x01\n\x14SysBoardInfoResponse\x12\x46\n\x10protocol_version\x18\x01 \x01(\x0e\x32,.touchy.SysBoardInfoResponse.ProtocolVersion\x12\x18\n\x10\x66irmware_version\x18\x02 \x01(\r\x12\x1c\n\x14\x66irmware_version_str\x18\x03 \x01(\t\x12\x12\n\nboard_name\x18\x04 \x01(\t\"C\n\x0fProtocolVersion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x06\n\x02V1\x10\x01\x12\x06\n\x02V2\x10\x02\x12\x0b\n\x07\x43URRENT\x10\x02\x1a\x02\x10\x01\"6\n\x14\x45ventConsumeResponse\x12\x1e\n\x05\x65vent\x18\x01 \x01(\x0b\x32\x0f.touchy.LvEvent\"\xa6\x01\n\x08Response\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.touchy.ResultCode\x12\x36\n\x0esys_board_info\x18\x02 \x01(\x0b\x32\x1c.touchy.SysBoardInfoResponseH\x00\x12\x35\n\revent_consume\x18\x03 \x01(\x0b\x32\x1c.touchy.EventConsumeResponseH\x00\x42\t\n\x07payload\"j\n\x07LvEvent\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x11\n\tuser_data\x18\x02 \x01(\t\x12\x0f\n\x05value\x18\x03 \x01(\x05H\x00\x12\x11\n\x07\x63hecked\x18\x05 \x01(\x08H\x00\x12\x11\n\thost_code\x18\x04 \x01(\rB\x07\n\x05state\"%\n\x05\x45vent\x12\x15\n\x0b\x65vent_ready\x18\x01 \x01(\x08H\x00\x42\x05\n\x03\x65vt\"\x11\n\x0fStreamEventsCmd*\xa7\x01\n\nResultCode\x12\r\n\tRESULT_OK\x10\x00\x12\x18\n\x14RESULT_UNKNOWN_ERROR\x10\x01\x12\x16\n\x12RESULT_INVALID_ARG\x10\x02\x12\x14\n\x10RESULT_NOT_FOUND\x10\x03\x12\x13\n\x0fRESULT_NO_SPACE\x10\x04\x12\x13\n\x0fRESULT_IO_ERROR\x10\x05\x12\x18\n\x14RESULT_NOT_SUPPORTED\x10\x06\x32\xa4\x04\n\x06Touchy\x12\x33\n\tFileReset\x12\x14.touchy.FileResetCmd\x1a\x10.touchy.Response\x12\x31\n\x08\x46ileSave\x12\x13.touchy.FileSaveCmd\x1a\x10.touchy.Response\x12\x35\n\nScreenLoad\x12\x15.touchy.ScreenLoadCmd\x1a\x10.touchy.Response\x12\x35\n\nScreenWake\x12\x15.touchy.ScreenWakeCmd\x1a\x10.touchy.Response\x12\x45\n\x12ScreenSleepTimeout\x12\x1d.touchy.ScreenSleepTimeoutCmd\x1a\x10.touchy.Response\x12G\n\x13SysRebootBootloader\x12\x1e.touchy.SysRebootBootloaderCmd\x1a\x10.touchy.Response\x12?\n\x0fSysBoardInfoGet\x12\x1a.touchy.SysBoardInfoGetCmd\x1a\x10.touchy.Response\x12\x39\n\x0c\x45ventConsume\x12\x17.touchy.EventConsumeCmd\x1a\x10.touchy.Response\x12\x38\n\x0cStreamEvents\x12\x17.touchy.StreamEventsCmd\x1a\r.touchy.Event0\x01\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'touchy_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._loaded_options = None
35
+ _globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_options = b'\020\001'
36
+ _globals['_RESULTCODE']._serialized_start=1310
37
+ _globals['_RESULTCODE']._serialized_end=1477
38
+ _globals['_FILERESETCMD']._serialized_start=24
39
+ _globals['_FILERESETCMD']._serialized_end=38
40
+ _globals['_FILESAVECMD']._serialized_start=40
41
+ _globals['_FILESAVECMD']._serialized_end=81
42
+ _globals['_SCREENLOADCMD']._serialized_start=83
43
+ _globals['_SCREENLOADCMD']._serialized_end=112
44
+ _globals['_SCREENWAKECMD']._serialized_start=114
45
+ _globals['_SCREENWAKECMD']._serialized_end=129
46
+ _globals['_SCREENSLEEPTIMEOUTCMD']._serialized_start=131
47
+ _globals['_SCREENSLEEPTIMEOUTCMD']._serialized_end=174
48
+ _globals['_EVENTCONSUMECMD']._serialized_start=176
49
+ _globals['_EVENTCONSUMECMD']._serialized_end=193
50
+ _globals['_SYSREBOOTBOOTLOADERCMD']._serialized_start=195
51
+ _globals['_SYSREBOOTBOOTLOADERCMD']._serialized_end=219
52
+ _globals['_SYSBOARDINFOGETCMD']._serialized_start=221
53
+ _globals['_SYSBOARDINFOGETCMD']._serialized_end=241
54
+ _globals['_COMMAND']._serialized_start=244
55
+ _globals['_COMMAND']._serialized_end=674
56
+ _globals['_SYSBOARDINFORESPONSE']._serialized_start=677
57
+ _globals['_SYSBOARDINFORESPONSE']._serialized_end=916
58
+ _globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_start=849
59
+ _globals['_SYSBOARDINFORESPONSE_PROTOCOLVERSION']._serialized_end=916
60
+ _globals['_EVENTCONSUMERESPONSE']._serialized_start=918
61
+ _globals['_EVENTCONSUMERESPONSE']._serialized_end=972
62
+ _globals['_RESPONSE']._serialized_start=975
63
+ _globals['_RESPONSE']._serialized_end=1141
64
+ _globals['_LVEVENT']._serialized_start=1143
65
+ _globals['_LVEVENT']._serialized_end=1249
66
+ _globals['_EVENT']._serialized_start=1251
67
+ _globals['_EVENT']._serialized_end=1288
68
+ _globals['_STREAMEVENTSCMD']._serialized_start=1290
69
+ _globals['_STREAMEVENTSCMD']._serialized_end=1307
70
+ _globals['_TOUCHY']._serialized_start=1480
71
+ _globals['_TOUCHY']._serialized_end=2028
72
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,114 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: widgets.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'widgets.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rwidgets.proto\x12\x06touchy\"2\n\x04Rect\x12\t\n\x01x\x18\x01 \x01(\x05\x12\t\n\x01y\x18\x02 \x01(\x05\x12\t\n\x01w\x18\x03 \x01(\x05\x12\t\n\x01h\x18\x04 \x01(\x05\"u\n\nTransition\x12 \n\x05props\x18\x01 \x03(\x0e\x32\x11.touchy.StyleProp\x12\x1e\n\x04path\x18\x02 \x01(\x0e\x32\x10.touchy.AnimPath\x12\x13\n\x0b\x64uration_ms\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65lay_ms\x18\x04 \x01(\r\"\xfe\x02\n\x05Style\x12\x15\n\x08\x62g_color\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x13\n\x06radius\x18\x02 \x01(\x05H\x01\x88\x01\x01\x12\x15\n\x08\x62order_w\x18\x03 \x01(\x05H\x02\x88\x01\x01\x12\x10\n\x03pad\x18\x04 \x01(\x05H\x03\x88\x01\x01\x12\x17\n\ntext_color\x18\x05 \x01(\rH\x04\x88\x01\x01\x12\x11\n\tfor_state\x18\x06 \x01(\r\x12\x14\n\x07recolor\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x18\n\x0brecolor_opa\x18\x08 \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x0ftransform_width\x18\t \x01(\x05H\x07\x88\x01\x01\x12+\n\ntransition\x18\n \x01(\x0b\x32\x12.touchy.TransitionH\x08\x88\x01\x01\x42\x0b\n\t_bg_colorB\t\n\x07_radiusB\x0b\n\t_border_wB\x06\n\x04_padB\r\n\x0b_text_colorB\n\n\x08_recolorB\x0e\n\x0c_recolor_opaB\x12\n\x10_transform_widthB\r\n\x0b_transition\".\n\x08KeyEvent\x12\x0f\n\x07keycode\x18\x01 \x01(\r\x12\x11\n\tmodifiers\x18\x02 \x01(\r\"2\n\tMouseMove\x12\n\n\x02\x64x\x18\x01 \x01(\x05\x12\n\n\x02\x64y\x18\x02 \x01(\x05\x12\r\n\x05wheel\x18\x03 \x01(\x05\"\xa6\x02\n\tMacroStep\x12$\n\x08key_down\x18\x01 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12\"\n\x06key_up\x18\x02 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12#\n\x07key_tap\x18\x03 \x01(\x0b\x32\x10.touchy.KeyEventH\x00\x12\x1b\n\x11mouse_button_down\x18\x04 \x01(\rH\x00\x12\x19\n\x0fmouse_button_up\x18\x05 \x01(\rH\x00\x12\x15\n\x0bmouse_click\x18\x06 \x01(\rH\x00\x12\'\n\nmouse_move\x18\x07 \x01(\x0b\x32\x11.touchy.MouseMoveH\x00\x12\x16\n\x0cset_delay_ms\x18\x08 \x01(\rH\x00\x12\x12\n\x08\x64\x65lay_ms\x18\t \x01(\rH\x00\x42\x06\n\x04step\"/\n\x0b\x41\x63tionMacro\x12 \n\x05steps\x18\x01 \x03(\x0b\x32\x11.touchy.MacroStep\"\x1a\n\nActionHost\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\"K\n\x0c\x41\x63tionDevice\x12\x33\n\rswitch_screen\x18\x01 \x01(\x0b\x32\x1a.touchy.ActionSwitchScreenH\x00\x42\x06\n\x04kind\"\x8a\x01\n\x12\x41\x63tionSwitchScreen\x12\x35\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32#.touchy.ActionSwitchScreen.Behavior\x12\x0c\n\x04name\x18\x02 \x01(\t\"/\n\x08\x42\x65havior\x12\x0b\n\x07\x42Y_NAME\x10\x00\x12\x08\n\x04NEXT\x10\x01\x12\x0c\n\x08PREVIOUS\x10\x02\"\x82\x01\n\x06\x41\x63tion\x12\"\n\x04host\x18\x01 \x01(\x0b\x32\x12.touchy.ActionHostH\x00\x12$\n\x05macro\x18\x02 \x01(\x0b\x32\x13.touchy.ActionMacroH\x00\x12&\n\x06\x64\x65vice\x18\x03 \x01(\x0b\x32\x14.touchy.ActionDeviceH\x00\x42\x06\n\x04kind\"0\n\x0eLayoutAbsolute\x12\x1e\n\x06layout\x18\x01 \x01(\x0b\x32\x0e.touchy.Layout\"\xf1\x01\n\nLayoutFlex\x12%\n\x04\x66low\x18\x01 \x01(\x0e\x32\x17.touchy.LayoutFlex.Flow\x12\x0b\n\x03gap\x18\x02 \x01(\r\x12\x1e\n\x06layout\x18\x03 \x01(\x0b\x32\x0e.touchy.Layout\"\x8e\x01\n\x04\x46low\x12\x07\n\x03ROW\x10\x00\x12\n\n\x06\x43OLUMN\x10\x01\x12\x0c\n\x08ROW_WRAP\x10\x02\x12\x0f\n\x0bROW_REVERSE\x10\x03\x12\x14\n\x10ROW_WRAP_REVERSE\x10\x04\x12\x0f\n\x0b\x43OLUMN_WRAP\x10\x05\x12\x12\n\x0e\x43OLUMN_REVERSE\x10\x06\x12\x17\n\x13\x43OLUMN_WRAP_REVERSE\x10\x07\"U\n\nLayoutGrid\x12\x0c\n\x04\x63ols\x18\x01 \x01(\r\x12\x0c\n\x04rows\x18\x02 \x01(\r\x12\x0b\n\x03gap\x18\x03 \x01(\r\x12\x1e\n\x06layout\x18\x04 \x01(\x0b\x32\x0e.touchy.Layout\"*\n\x06Layout\x12 \n\x08\x63hildren\x18\x01 \x03(\x0b\x32\x0e.touchy.Widget\"l\n\x08GridCell\x12\x0b\n\x03\x63ol\x18\x01 \x01(\r\x12\x0b\n\x03row\x18\x02 \x01(\r\x12\x15\n\x08\x63ol_span\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08row_span\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_col_spanB\x0b\n\t_row_span\"~\n\x06\x42utton\x12\x0c\n\x04text\x18\x01 \x01(\t\x12 \n\x08on_click\x18\x02 \x03(\x0b\x32\x0e.touchy.Action\x12 \n\x08on_press\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\x12\"\n\non_release\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\"O\n\x05Label\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x11\n\tfont_size\x18\x02 \x01(\x05\x12%\n\ntext_align\x18\x03 \x01(\x0e\x32\x11.touchy.TextAlign\"T\n\x06Slider\x12\x0b\n\x03min\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x05\x12!\n\ton_change\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\"7\n\x06Switch\x12\n\n\x02on\x18\x01 \x01(\x08\x12!\n\ton_change\x18\x02 \x03(\x0b\x32\x0e.touchy.Action\"L\n\x08\x43heckbox\x12\x0c\n\x04text\x18\x01 \x01(\t\x12\x0f\n\x07\x63hecked\x18\x02 \x01(\x08\x12!\n\ton_change\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\"X\n\x05Image\x12\r\n\x05\x61sset\x18\x01 \x01(\t\x12\x12\n\x05scale\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08rotation\x18\x03 \x01(\x05H\x01\x88\x01\x01\x42\x08\n\x06_scaleB\x0b\n\t_rotation\"\xc7\x01\n\x0bImageButton\x12\x1f\n\x08released\x18\x01 \x01(\x0b\x32\r.touchy.Image\x12#\n\x07pressed\x18\x02 \x01(\x0b\x32\r.touchy.ImageH\x00\x88\x01\x01\x12 \n\x08on_click\x18\x03 \x03(\x0b\x32\x0e.touchy.Action\x12 \n\x08on_press\x18\x04 \x03(\x0b\x32\x0e.touchy.Action\x12\"\n\non_release\x18\x05 \x03(\x0b\x32\x0e.touchy.ActionB\n\n\x08_pressed\".\n\x03\x41rc\x12\x0b\n\x03min\x18\x01 \x01(\x05\x12\x0b\n\x03max\x18\x02 \x01(\x05\x12\r\n\x05value\x18\x03 \x01(\x05\"\x08\n\x06Spacer\"\xbe\x03\n\x08Trackpad\x12\x17\n\x0fscroll_invert_y\x18\x01 \x01(\x08\x12\x17\n\x0fscroll_invert_x\x18\x02 \x01(\x08\x12\x1d\n\x10left_touch_color\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1e\n\x11right_touch_color\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12middle_touch_color\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x32\n\x0ctouch_ripple\x18\x06 \x01(\x0b\x32\x17.touchy.RippleAnimationH\x03\x88\x01\x01\x12\x30\n\ntap_ripple\x18\x07 \x01(\x0b\x32\x17.touchy.RippleAnimationH\x04\x88\x01\x01\x12\x1c\n\x0fscrollbar_color\x18\x08 \x01(\rH\x05\x88\x01\x01\x12\x17\n\ntap_max_ms\x18\t \x01(\rH\x06\x88\x01\x01\x42\x13\n\x11_left_touch_colorB\x14\n\x12_right_touch_colorB\x15\n\x13_middle_touch_colorB\x0f\n\r_touch_rippleB\r\n\x0b_tap_rippleB\x12\n\x10_scrollbar_colorB\r\n\x0b_tap_max_ms\"\xd5\x01\n\x0fRippleAnimation\x12\x16\n\tstart_opa\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x17\n\nmax_radius\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x18\n\x0b\x64uration_ms\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1e\n\x04path\x18\x04 \x01(\x0e\x32\x10.touchy.AnimPath\x12\x19\n\x0c\x62order_width\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\x0c\n\n_start_opaB\r\n\x0b_max_radiusB\x0e\n\x0c_duration_msB\x0f\n\r_border_width\"\t\n\x07LogLine\"\x05\n\x03\x46ps\"\r\n\x0b\x46orceRender\"\xe9\x05\n\x06Widget\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1d\n\x06styles\x18\x03 \x03(\x0b\x32\r.touchy.Style\x12\x10\n\x08\x63\x65ntered\x18\x05 \x01(\x08\x12\x1c\n\x04rect\x18\x02 \x01(\x0b\x32\x0c.touchy.RectH\x00\x12 \n\x04\x63\x65ll\x18\x04 \x01(\x0b\x32\x10.touchy.GridCellH\x00\x12 \n\x06\x62utton\x18\n \x01(\x0b\x32\x0e.touchy.ButtonH\x01\x12\x1e\n\x05label\x18\x0b \x01(\x0b\x32\r.touchy.LabelH\x01\x12 \n\x06slider\x18\x0c \x01(\x0b\x32\x0e.touchy.SliderH\x01\x12 \n\x06toggle\x18\r \x01(\x0b\x32\x0e.touchy.SwitchH\x01\x12\x1e\n\x05image\x18\x0e \x01(\x0b\x32\r.touchy.ImageH\x01\x12\x1a\n\x03\x61rc\x18\x0f \x01(\x0b\x32\x0b.touchy.ArcH\x01\x12 \n\x06spacer\x18\x10 \x01(\x0b\x32\x0e.touchy.SpacerH\x01\x12$\n\x08\x63heckbox\x18\x11 \x01(\x0b\x32\x10.touchy.CheckboxH\x01\x12$\n\x08trackpad\x18\x12 \x01(\x0b\x32\x10.touchy.TrackpadH\x01\x12\x1e\n\x03log\x18\x13 \x01(\x0b\x32\x0f.touchy.LogLineH\x01\x12+\n\x0cimage_button\x18\x14 \x01(\x0b\x32\x13.touchy.ImageButtonH\x01\x12\x1a\n\x03\x66ps\x18\x15 \x01(\x0b\x32\x0b.touchy.FpsH\x01\x12+\n\x0c\x66orce_render\x18\x16 \x01(\x0b\x32\x13.touchy.ForceRenderH\x01\x12\x31\n\x0flayout_absolute\x18\x1e \x01(\x0b\x32\x16.touchy.LayoutAbsoluteH\x01\x12)\n\x0blayout_flex\x18\x1f \x01(\x0b\x32\x12.touchy.LayoutFlexH\x01\x12)\n\x0blayout_grid\x18 \x01(\x0b\x32\x12.touchy.LayoutGridH\x01\x42\x0b\n\tplacementB\x06\n\x04kind\"\x90\x02\n\x06Screen\x12\'\n\x07version\x18\x06 \x01(\x0e\x32\x16.touchy.Screen.Version\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1e\n\x06\x61\x63tive\x18\x07 \x01(\x0b\x32\x0e.touchy.Widget\x12 \n\x03top\x18\x08 \x01(\x0b\x32\x0e.touchy.WidgetH\x00\x88\x01\x01\x12 \n\x03sys\x18\t \x01(\x0b\x32\x0e.touchy.WidgetH\x01\x88\x01\x01\x12#\n\x06\x62ottom\x18\n \x01(\x0b\x32\x0e.touchy.WidgetH\x02\x88\x01\x01\"+\n\x07Version\x12\x13\n\x0fVERSION_UNKNOWN\x10\x00\x12\x0b\n\x07\x43URRENT\x10\x0c\x42\x06\n\x04_topB\x06\n\x04_sysB\t\n\x07_bottom*\x85\x03\n\x07LvState\x12\x14\n\x10LV_STATE_DEFAULT\x10\x00\x12\x14\n\x10LV_STATE_CHECKED\x10\x01\x12\x14\n\x10LV_STATE_FOCUSED\x10\x02\x12\x16\n\x12LV_STATE_FOCUS_KEY\x10\x04\x12\x13\n\x0fLV_STATE_EDITED\x10\x08\x12\x14\n\x10LV_STATE_HOVERED\x10\x10\x12\x14\n\x10LV_STATE_PRESSED\x10 \x12\x15\n\x11LV_STATE_SCROLLED\x10@\x12\x16\n\x11LV_STATE_DISABLED\x10\x80\x01\x12\x10\n\x0cLV_PART_MAIN\x10\x00\x12\x17\n\x11LV_PART_SCROLLBAR\x10\x80\x80\x04\x12\x17\n\x11LV_PART_INDICATOR\x10\x80\x80\x08\x12\x12\n\x0cLV_PART_KNOB\x10\x80\x80\x0c\x12\x16\n\x10LV_PART_SELECTED\x10\x80\x80\x10\x12\x13\n\rLV_PART_ITEMS\x10\x80\x80\x14\x12\x14\n\x0eLV_PART_CURSOR\x10\x80\x80\x18\x12\x11\n\x0bLV_PART_ANY\x10\x80\x80<\x1a\x02\x10\x01*\xa4\x03\n\tStyleProp\x12\x14\n\x10STYLE_PROP_UNSET\x10\x00\x12\x17\n\x13STYLE_PROP_BG_COLOR\x10\x01\x12\x15\n\x11STYLE_PROP_BG_OPA\x10\x02\x12\x15\n\x11STYLE_PROP_RADIUS\x10\x03\x12\x1b\n\x17STYLE_PROP_BORDER_WIDTH\x10\x04\x12\x1b\n\x17STYLE_PROP_BORDER_COLOR\x10\x05\x12\x16\n\x12STYLE_PROP_PAD_TOP\x10\x06\x12\x19\n\x15STYLE_PROP_TEXT_COLOR\x10\x07\x12\x1c\n\x18STYLE_PROP_IMAGE_RECOLOR\x10\x08\x12 \n\x1cSTYLE_PROP_IMAGE_RECOLOR_OPA\x10\t\x12\x1e\n\x1aSTYLE_PROP_TRANSFORM_WIDTH\x10\n\x12\x1f\n\x1bSTYLE_PROP_TRANSFORM_HEIGHT\x10\x0b\x12\x19\n\x15STYLE_PROP_PAD_BOTTOM\x10\x0c\x12\x17\n\x13STYLE_PROP_PAD_LEFT\x10\r\x12\x18\n\x14STYLE_PROP_PAD_RIGHT\x10\x0e*\xad\x01\n\x08\x41nimPath\x12\x14\n\x10\x41NIM_PATH_LINEAR\x10\x00\x12\x15\n\x11\x41NIM_PATH_EASE_IN\x10\x01\x12\x16\n\x12\x41NIM_PATH_EASE_OUT\x10\x02\x12\x19\n\x15\x41NIM_PATH_EASE_IN_OUT\x10\x03\x12\x17\n\x13\x41NIM_PATH_OVERSHOOT\x10\x04\x12\x14\n\x10\x41NIM_PATH_BOUNCE\x10\x05\x12\x12\n\x0e\x41NIM_PATH_STEP\x10\x06*b\n\tTextAlign\x12\x13\n\x0fTEXT_ALIGN_AUTO\x10\x00\x12\x13\n\x0fTEXT_ALIGN_LEFT\x10\x01\x12\x15\n\x11TEXT_ALIGN_CENTER\x10\x02\x12\x14\n\x10TEXT_ALIGN_RIGHT\x10\x03\x62\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'widgets_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ DESCRIPTOR._loaded_options = None
34
+ _globals['_LVSTATE']._loaded_options = None
35
+ _globals['_LVSTATE']._serialized_options = b'\020\001'
36
+ _globals['_LVSTATE']._serialized_start=4443
37
+ _globals['_LVSTATE']._serialized_end=4832
38
+ _globals['_STYLEPROP']._serialized_start=4835
39
+ _globals['_STYLEPROP']._serialized_end=5255
40
+ _globals['_ANIMPATH']._serialized_start=5258
41
+ _globals['_ANIMPATH']._serialized_end=5431
42
+ _globals['_TEXTALIGN']._serialized_start=5433
43
+ _globals['_TEXTALIGN']._serialized_end=5531
44
+ _globals['_RECT']._serialized_start=25
45
+ _globals['_RECT']._serialized_end=75
46
+ _globals['_TRANSITION']._serialized_start=77
47
+ _globals['_TRANSITION']._serialized_end=194
48
+ _globals['_STYLE']._serialized_start=197
49
+ _globals['_STYLE']._serialized_end=579
50
+ _globals['_KEYEVENT']._serialized_start=581
51
+ _globals['_KEYEVENT']._serialized_end=627
52
+ _globals['_MOUSEMOVE']._serialized_start=629
53
+ _globals['_MOUSEMOVE']._serialized_end=679
54
+ _globals['_MACROSTEP']._serialized_start=682
55
+ _globals['_MACROSTEP']._serialized_end=976
56
+ _globals['_ACTIONMACRO']._serialized_start=978
57
+ _globals['_ACTIONMACRO']._serialized_end=1025
58
+ _globals['_ACTIONHOST']._serialized_start=1027
59
+ _globals['_ACTIONHOST']._serialized_end=1053
60
+ _globals['_ACTIONDEVICE']._serialized_start=1055
61
+ _globals['_ACTIONDEVICE']._serialized_end=1130
62
+ _globals['_ACTIONSWITCHSCREEN']._serialized_start=1133
63
+ _globals['_ACTIONSWITCHSCREEN']._serialized_end=1271
64
+ _globals['_ACTIONSWITCHSCREEN_BEHAVIOR']._serialized_start=1224
65
+ _globals['_ACTIONSWITCHSCREEN_BEHAVIOR']._serialized_end=1271
66
+ _globals['_ACTION']._serialized_start=1274
67
+ _globals['_ACTION']._serialized_end=1404
68
+ _globals['_LAYOUTABSOLUTE']._serialized_start=1406
69
+ _globals['_LAYOUTABSOLUTE']._serialized_end=1454
70
+ _globals['_LAYOUTFLEX']._serialized_start=1457
71
+ _globals['_LAYOUTFLEX']._serialized_end=1698
72
+ _globals['_LAYOUTFLEX_FLOW']._serialized_start=1556
73
+ _globals['_LAYOUTFLEX_FLOW']._serialized_end=1698
74
+ _globals['_LAYOUTGRID']._serialized_start=1700
75
+ _globals['_LAYOUTGRID']._serialized_end=1785
76
+ _globals['_LAYOUT']._serialized_start=1787
77
+ _globals['_LAYOUT']._serialized_end=1829
78
+ _globals['_GRIDCELL']._serialized_start=1831
79
+ _globals['_GRIDCELL']._serialized_end=1939
80
+ _globals['_BUTTON']._serialized_start=1941
81
+ _globals['_BUTTON']._serialized_end=2067
82
+ _globals['_LABEL']._serialized_start=2069
83
+ _globals['_LABEL']._serialized_end=2148
84
+ _globals['_SLIDER']._serialized_start=2150
85
+ _globals['_SLIDER']._serialized_end=2234
86
+ _globals['_SWITCH']._serialized_start=2236
87
+ _globals['_SWITCH']._serialized_end=2291
88
+ _globals['_CHECKBOX']._serialized_start=2293
89
+ _globals['_CHECKBOX']._serialized_end=2369
90
+ _globals['_IMAGE']._serialized_start=2371
91
+ _globals['_IMAGE']._serialized_end=2459
92
+ _globals['_IMAGEBUTTON']._serialized_start=2462
93
+ _globals['_IMAGEBUTTON']._serialized_end=2661
94
+ _globals['_ARC']._serialized_start=2663
95
+ _globals['_ARC']._serialized_end=2709
96
+ _globals['_SPACER']._serialized_start=2711
97
+ _globals['_SPACER']._serialized_end=2719
98
+ _globals['_TRACKPAD']._serialized_start=2722
99
+ _globals['_TRACKPAD']._serialized_end=3168
100
+ _globals['_RIPPLEANIMATION']._serialized_start=3171
101
+ _globals['_RIPPLEANIMATION']._serialized_end=3384
102
+ _globals['_LOGLINE']._serialized_start=3386
103
+ _globals['_LOGLINE']._serialized_end=3395
104
+ _globals['_FPS']._serialized_start=3397
105
+ _globals['_FPS']._serialized_end=3402
106
+ _globals['_FORCERENDER']._serialized_start=3404
107
+ _globals['_FORCERENDER']._serialized_end=3417
108
+ _globals['_WIDGET']._serialized_start=3420
109
+ _globals['_WIDGET']._serialized_end=4165
110
+ _globals['_SCREEN']._serialized_start=4168
111
+ _globals['_SCREEN']._serialized_end=4440
112
+ _globals['_SCREEN_VERSION']._serialized_start=4370
113
+ _globals['_SCREEN_VERSION']._serialized_end=4413
114
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,242 @@
1
+ """Public Python API for the Touchy-Pad device.
2
+
3
+ This package is the supported entry point for application code.
4
+ Everything in here is part of the stable API; everything outside
5
+ this package (``touchy_pad.client``, ``touchy_pad._proto``, …) is
6
+ considered internal and may change without notice.
7
+
8
+ Typical usage::
9
+
10
+ from touchy_pad.api import touchy_open, Screen, button, row
11
+
12
+ with touchy_open() as pad:
13
+ s = Screen("home", layout=row(gap=8))
14
+ s += button("hi")
15
+ pad.screen_save(s)
16
+ pad.screen_load("home")
17
+
18
+ Submodules:
19
+
20
+ * :mod:`touchy_pad.api.screens` — host-side DSL for authoring
21
+ ``Screen`` / ``Layer`` / widget protobufs.
22
+ * :mod:`touchy_pad.api.macros` — DSL for keyboard / mouse macros.
23
+ * :mod:`touchy_pad.api.hid_keys` — HID keycode constants.
24
+ * :mod:`touchy_pad.api.images` — image helpers used by the demos.
25
+ * :mod:`touchy_pad.api.lvgl_image` — LVGL binary image conversion.
26
+ * :mod:`touchy_pad.api.protobuf` — the raw generated protobuf
27
+ classes (``Screen``, ``Widget``, ``Layout*``, …) for users who
28
+ want to build messages without the higher-level DSL.
29
+ """
30
+
31
+ from __future__ import annotations
32
+
33
+ from . import hid_keys, images, lvgl_image, protobuf
34
+ from .device import (
35
+ MINIMUM_FIRMWARE_VERSION,
36
+ IncompatibleFirmwareError,
37
+ Touchy,
38
+ touchy_get_pad_ids,
39
+ touchy_open,
40
+ )
41
+ from .macros import (
42
+ HID_MOUSE_BTN_LEFT,
43
+ HID_MOUSE_BTN_MIDDLE,
44
+ HID_MOUSE_BTN_RIGHT,
45
+ delay,
46
+ key_down,
47
+ key_tap,
48
+ key_up,
49
+ mouse_button_down,
50
+ mouse_button_up,
51
+ mouse_click,
52
+ mouse_move,
53
+ set_delay,
54
+ type_text,
55
+ )
56
+ from .screens import (
57
+ ANIM_PATH_BOUNCE,
58
+ ANIM_PATH_EASE_IN,
59
+ ANIM_PATH_EASE_IN_OUT,
60
+ ANIM_PATH_EASE_OUT,
61
+ ANIM_PATH_LINEAR,
62
+ ANIM_PATH_OVERSHOOT,
63
+ ANIM_PATH_STEP,
64
+ PART_ANY,
65
+ PART_CURSOR,
66
+ PART_INDICATOR,
67
+ PART_ITEMS,
68
+ PART_KNOB,
69
+ PART_MAIN,
70
+ PART_SCROLLBAR,
71
+ PART_SELECTED,
72
+ PROP_BG_COLOR,
73
+ PROP_BG_OPA,
74
+ PROP_BORDER_COLOR,
75
+ PROP_BORDER_WIDTH,
76
+ PROP_IMAGE_RECOLOR,
77
+ PROP_IMAGE_RECOLOR_OPA,
78
+ PROP_PAD_BOTTOM,
79
+ PROP_PAD_LEFT,
80
+ PROP_PAD_RIGHT,
81
+ PROP_PAD_TOP,
82
+ PROP_RADIUS,
83
+ PROP_TEXT_COLOR,
84
+ PROP_TRANSFORM_HEIGHT,
85
+ PROP_TRANSFORM_WIDTH,
86
+ STATE_CHECKED,
87
+ STATE_DEFAULT,
88
+ STATE_DISABLED,
89
+ STATE_EDITED,
90
+ STATE_FOCUS_KEY,
91
+ STATE_FOCUSED,
92
+ STATE_HOVERED,
93
+ STATE_PRESSED,
94
+ STATE_SCROLLED,
95
+ Layer,
96
+ Screen,
97
+ absolute,
98
+ action,
99
+ arc,
100
+ build_demo_screen,
101
+ build_demo_screens,
102
+ button,
103
+ cell,
104
+ checkbox,
105
+ col,
106
+ device_action,
107
+ flex,
108
+ force_render,
109
+ fps,
110
+ grid,
111
+ host_action,
112
+ image,
113
+ image_button,
114
+ label,
115
+ log_line,
116
+ macro_action,
117
+ next_screen_action,
118
+ prev_screen_action,
119
+ rect,
120
+ ripple_animation,
121
+ row,
122
+ slider,
123
+ spacer,
124
+ style,
125
+ switch_screen_action,
126
+ toggle,
127
+ trackpad,
128
+ transition,
129
+ )
130
+ from .sim_registry import (
131
+ create_sim_device,
132
+ destroy_sim_device,
133
+ get_sim_serial,
134
+ get_sim_transport,
135
+ )
136
+
137
+ __all__ = [
138
+ # Device lifecycle.
139
+ "Touchy",
140
+ "touchy_open",
141
+ "touchy_get_pad_ids",
142
+ "IncompatibleFirmwareError",
143
+ "MINIMUM_FIRMWARE_VERSION",
144
+ # Sim device registry (for testing / host apps without USB hardware).
145
+ "create_sim_device",
146
+ "destroy_sim_device",
147
+ "get_sim_serial",
148
+ "get_sim_transport",
149
+ # Submodules.
150
+ "hid_keys",
151
+ "images",
152
+ "lvgl_image",
153
+ "protobuf",
154
+ # Screen / widget DSL.
155
+ "Screen",
156
+ "Layer",
157
+ "absolute",
158
+ "flex",
159
+ "row",
160
+ "col",
161
+ "grid",
162
+ "cell",
163
+ "rect",
164
+ "style",
165
+ "transition",
166
+ "action",
167
+ "host_action",
168
+ "macro_action",
169
+ "device_action",
170
+ "switch_screen_action",
171
+ "next_screen_action",
172
+ "prev_screen_action",
173
+ "button",
174
+ "label",
175
+ "slider",
176
+ "toggle",
177
+ "checkbox",
178
+ "image",
179
+ "image_button",
180
+ "arc",
181
+ "spacer",
182
+ "trackpad",
183
+ "ripple_animation",
184
+ "log_line",
185
+ "fps",
186
+ "force_render",
187
+ "build_demo_screen",
188
+ "build_demo_screens",
189
+ # Macros.
190
+ "key_down",
191
+ "key_up",
192
+ "key_tap",
193
+ "mouse_button_down",
194
+ "mouse_button_up",
195
+ "mouse_click",
196
+ "mouse_move",
197
+ "set_delay",
198
+ "delay",
199
+ "type_text",
200
+ "HID_MOUSE_BTN_LEFT",
201
+ "HID_MOUSE_BTN_RIGHT",
202
+ "HID_MOUSE_BTN_MIDDLE",
203
+ # Selector / property / easing constants.
204
+ "STATE_DEFAULT",
205
+ "STATE_CHECKED",
206
+ "STATE_FOCUSED",
207
+ "STATE_FOCUS_KEY",
208
+ "STATE_EDITED",
209
+ "STATE_HOVERED",
210
+ "STATE_PRESSED",
211
+ "STATE_SCROLLED",
212
+ "STATE_DISABLED",
213
+ "PART_MAIN",
214
+ "PART_SCROLLBAR",
215
+ "PART_INDICATOR",
216
+ "PART_KNOB",
217
+ "PART_SELECTED",
218
+ "PART_ITEMS",
219
+ "PART_CURSOR",
220
+ "PART_ANY",
221
+ "PROP_BG_COLOR",
222
+ "PROP_BG_OPA",
223
+ "PROP_RADIUS",
224
+ "PROP_BORDER_WIDTH",
225
+ "PROP_BORDER_COLOR",
226
+ "PROP_PAD_TOP",
227
+ "PROP_PAD_BOTTOM",
228
+ "PROP_PAD_LEFT",
229
+ "PROP_PAD_RIGHT",
230
+ "PROP_TEXT_COLOR",
231
+ "PROP_IMAGE_RECOLOR",
232
+ "PROP_IMAGE_RECOLOR_OPA",
233
+ "PROP_TRANSFORM_WIDTH",
234
+ "PROP_TRANSFORM_HEIGHT",
235
+ "ANIM_PATH_LINEAR",
236
+ "ANIM_PATH_EASE_IN",
237
+ "ANIM_PATH_EASE_OUT",
238
+ "ANIM_PATH_EASE_IN_OUT",
239
+ "ANIM_PATH_OVERSHOOT",
240
+ "ANIM_PATH_BOUNCE",
241
+ "ANIM_PATH_STEP",
242
+ ]