Projekt

Allgemein

Profil

Eval » Historie » Version 9

Maximilian Seesslen, 14.06.2022 16:14

1 1 Maximilian Seesslen
h1. Eval
2
3
h2. Widgets
4
5 3 Maximilian Seesslen
There is a ODesktop that holds a list of OScreens (or only the curent).
6 1 Maximilian Seesslen
There is a OScreen that holds a list of OWidgets.
7
When the touch is pressed, the corresponding button can be determined.
8
An signal can be emmited.
9
An press-event can be queued, An release-event can be queued. An click-event can be queued if current button matches original pressed button.
10
11
* OButton::draw(): completely draws the widget
12
* OButton::update(): only draw status-relevant items, e.g. pressed, released, time changed...
13
14 2 Maximilian Seesslen
All screens can be prepared at start.
15 1 Maximilian Seesslen
A Screen can be active or inactive.
16 3 Maximilian Seesslen
17
h2. Touch
18
19 4 Maximilian Seesslen
There is an touch class that helps converting raw values to X-Y-coordinates
20
21 1 Maximilian Seesslen
XCAL_25; XCAL_215;
22 4 Maximilian Seesslen
X=( 25 + ( ( RAW-XCAL_25 ) / ( ( XCAL_215 - XCAL_25 ) / ( 215 - 25 ) )  )
23 1 Maximilian Seesslen
24 4 Maximilian Seesslen
Sample:
25 1 Maximilian Seesslen
XCAL_25=100
26 3 Maximilian Seesslen
XCAL_215=2000
27 4 Maximilian Seesslen
( 2000 - 100 ) / 190 = 10 RawPerPixel;
28 3 Maximilian Seesslen
29
100: 
30
X = 25 +  ( ( 100-100) / 10 ) = 100
31
32 1 Maximilian Seesslen
2000:
33 3 Maximilian Seesslen
X = 25 + ( 1900 / 10 ) = 215
34
35 4 Maximilian Seesslen
Sample 2:
36 3 Maximilian Seesslen
XCAL_25=78
37
XCAL_215=589
38
rawPerPixel = (589 - 78) / 190 = approx. 2,6894737
39 1 Maximilian Seesslen
rawPerHektoPixel = ((589 - 78) * 100) / 190 = approx. 268,94737
40
X = 25 + (  ( ( 589 - 78 ) * 100 ) / 269 )  = approx. 214,96283
41
42 4 Maximilian Seesslen
To avoid usage of floating point the rawPerPixel is used as rawPerHektoPixel
43
X=( 25 + ( ( ( RAW-XCAL_25 ) * Hekto ) / ( ( ( XCAL_215 - XCAL_25 ) * Hekto ) / ( 215 - 25 ) )  )
44
rawPerHektoPixel = ( ( XCAL_215 - XCAL_25 ) * Hekto ) / ( 215 - 25 )
45
X=( 25 + ( ( ( RAW-XCAL_25 ) * Hekto ) / rawPerHektoPixel )  )
46 2 Maximilian Seesslen
47 1 Maximilian Seesslen
h2. Watch
48
49 5 Maximilian Seesslen
* the OWatch class shows an clock with specific style, analog or digital
50 1 Maximilian Seesslen
51 6 Maximilian Seesslen
h2. Example: Minutnik
52 1 Maximilian Seesslen
53
* Main screen; CWatch, Add-Button
54
* Add-Screen
55
** Espresso, Weisswurst, Weiches Ei, Hartes Ei, Nudeln, Pizza, Waschmaschine, Cancel; Height 32
56
* Alarm Screen
57
* Logo, Splash screen at boot time and stand-by-screen
58 7 Maximilian Seesslen
* Release v2.0.0: Mode-Screen: Minutnik, Clock, StopWatch
59 6 Maximilian Seesslen
60 7 Maximilian Seesslen
h2. Example: CANDis
61 1 Maximilian Seesslen
62 7 Maximilian Seesslen
* Main screen
63
** Button for Light, Sensemux-Diagram, Activity (TV, Musik, Solder, Off)
64
** Header with Clock
65 8 Maximilian Seesslen
* Light-Screen
66
** Power-Widget
67
** Ok-Button
68 7 Maximilian Seesslen
* Clock-Screen (Screen saver)
69 9 Maximilian Seesslen
** Clock, Date, Temperature, Quick-Access-Buttons