-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
102 lines (99 loc) · 5.02 KB
/
TODO.txt
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
TODO:
- root view // MOSTLY DONE
- looper and loopable // DONE
- message handling across threads // DONE
- views // MOSTLY DONE
- view groups // DONE
- drawables // MOSTLY DONE
- layout params // MOSTLY DONE
- relative layout // MOSTLY DONE
- linear layout // MOSTLY DONE
- theming // MOSTLY DONE
- nine patch drawable // MOSTLY DONE
- shadow drawable // DONE
- frame decoration // IN PROGRESS
- elevated layout // DONE
- z-index // DONE
- mouse input - hover, click, etc // MOSTLY DONE
- custom cursors - hand, text, etc // DONE
- interpolaters - accelerate, decelerate, etc. // DONE
- states - STATE_NORMAL, STATE_FOCUSED, STATE_HOVER, etc // MOSTLY DONE
- animations - choreographer with delta times // BASE ANIMATORS ARE MOSTLY DONE
- Basic view translations // IN PROGRESS - CLIPS
- figure out why the onDraws are taking so long // Nine patch drawables are sooooo slow // MOSTLY FIXED WITH CACHING AND NOT DRAWING MIDDLE PATCH
- made shadow file smaller to reduce the min nine patch size and speed up the drawing
- Animated stateful shadow drawable - hovers higher on mouse hover // MOSTLY DONE
- Buttons // MOSTLY DONE
- Normal buttons // MOSTLY DONE
- Flat (colorless) buttons // MOSTLY DONE
- Icon buttons - for nav buttons, etc. // DONE THROUGH THE FOREGROUND DRAWABLE OF THE BUTTON
- Fix the clipping - often views ignore the existing clip // DONE - Views will respect the previous clips
- Also, views should not be clipping // DONE - DEFERRED TO THE LAYOUTS
- Fix the shadow clipping // FIXED - adding a padding layout to the desired layout or add a elevated layout
- Migrate the translation X and Y to the ViewGroup // MIGRATED // DONE
- Foreground drawable on views for things like a ripple // DONE
- Ripples // MOSTLY DONE - SMALL TWEAKS
- Rounded rectangle drawable - for cards, buttons, etc. // DONE
- Elevated layout ignores max size // FIXED IT
- Maybe: Implement caching or something? Split the foreground into 9 images and paint them individually? // IMPLEMENTED NINE PATCH CACHING AND NOT DRAWING MIDDLE PATCH
- animate window in - upward reveal (reveals up like how apps launch in Marshmellow and Nougat) // DONE
- animate window out - slide out? // CHANGE IT NOT SUPER HAPPY
- nav buttons // DONE
- Added GLG2D Support // USE THIS OVER STANDARD JAVA2D ROOTVIEW
- View overClipping - Clip larger than the view for overdrawing other views. // DONE
- Fix weird GLG2D line on shadows // FIXED BY CLIPPING ONE OVER
- Redo the nav button actions to work with the new root view // DONE WITH WINDOW STATE MANAGER
- Frame drag resets state // DONE
- WindowStateManager needs animation support // LATER WHEN ANIMATIONS ARE TO BE IMPLEMENTED
- fix window intro animation flashing thing // FIXED WITH A DIRTY HACK
- frame resizer // DONE
- long press / long click // DONE
- global animation choreographer // SOMEWHAT DONE
- key inputs // DONE
- tab view traversal // MOSTLY DONE
- card views // CREATED - JUST NEED A CLASS FOR CREATING VIEWS
- universal over draw components // DONE - use overlay views or
- finding the location of a View on screen // DONE
- useful for popup menus and such
- OverlayLayout: using an overlay layer which allows for a dialog/View to be drawn on top // DONE - OverlayViewGroup
- snackbars // TextView and a ButtonView in a OverlayLinearLayout - See Snackbar.kt
- drawer // MOSTLY DONE
- right-click menu / context menu // DONE - need closing animation
- fab
- loading views // DONE
- circular loading view
- horizontal loading bar
- indeterminate loading bar
- scroll views // DONE
- list views // DONE -- MORE EFFICIENT RENDERING THO - draw only visible views
- view ids // PRETTY MUCH DONE
- findViewById(id: String)
- wrapping text view / multi-line text view // DONE
- min and max sizes based off of text
- alignment of text // center, left align, right align, etc
- fitting text within given dimensions
- new line (\n or \r\n) support
- line heights, keming, etc.
- these calculations should be performed in onLayout!!! It would be to blocking for onDraw
- xml based view inflation // MOSTLY DONE - need to adapt some views for xml inflation tho
- separate module
- establish spec
- concept of layouts in the RootView for easy switching // IN PROGRESS
- radio buttons // DONE
- check box // DONE
- text input // DONE - still need cursor caret positioning tho
- DrawerLayout // IN PROGRESS
- Pinned drawer // DONE
- Collapsing // kinda screws with the layout like big time - is it wise to generate animating layout changes???
- Animated hamburger drawable // DONE - works w/ or wo/ a drawer
- Call FrameDecoration (from rootView.getFrameDecoration()) #enableDrawerToggle(drawer$optional)
- tool tips
- more material ui components
- text inputs and number spinners
NOTES:
- Should TextView generate synthetic min sizes? This causes a chain of synthetic min sizes and wrecks the hierarchy
//////// TODO //////////
DrawerLayout
i. TYPE_PINNED - pinned to the left side of the child view
ii. TYPE_COLLAPSING - overlays and collapses to the left side with the toggle button
YogaLayout