Commit Graph

42 Commits

Author SHA1 Message Date
Mark Pilgrim
b04af05f79 add progress bar view 2015-07-17 23:38:48 -05:00
Quinn Dunki
97be525f28 More efficient even/odd checking 2015-02-12 08:00:41 -08:00
Quinn Dunki
19657cb959 Added support for frameless views 2015-02-08 18:06:14 -08:00
Quinn Dunki
2b4a194df3 Polish
- Improvements to BASIC sample code
- Fixed button painting leaving text in inverse
2015-02-07 17:22:02 -08:00
Quinn Dunki
0c12da7c89 Scrolling fixes
- Fixed window titles rendering in wrong coordinate space
- Fixed superfluous redrawing caused by scroll arrow clicking
2015-02-03 13:11:22 -08:00
Quinn Dunki
7feec071c1 Mouse driver improvements
-Removed use of PARAMn from interrupt handler
- Events now processed with location, not view ID
2015-02-03 11:01:09 -08:00
Quinn Dunki
0fe5765c45 Support for removing views
- Added WGDeleteView and &KILL
- Added WGEraseView and &WIPE
- Fixed focus iteration code to handle unallocated views in the middle of the list
2015-01-24 17:17:38 -08:00
Quinn Dunki
7efb0613e6 Fixed pointer background going stale when view under it redraws 2015-01-15 18:52:32 -08:00
Quinn Dunki
fa6276dbc3 - Fixed mashing mouse buttin causing Applesoft GOSUBs to fail intermittently 2015-01-14 13:29:12 -08:00
Quinn Dunki
28956650ff Bug fixes
- Positive scroll values now clamped
2015-01-13 13:00:39 -08:00
Quinn Dunki
54d869195c Docs and bug fixes
- Documentation polish
- Negative local cursors are now clamped
2015-01-13 12:55:14 -08:00
Quinn Dunki
35f752eab2 Polish & Docs
- Callbacks are more register-safe
- Polish to documentation
2015-01-02 16:42:53 -08:00
Quinn Dunki
6dc82fe5b5 Minor cleanup
- Code cleanup
- Fixed mouse not working on checkboxes with no callback
2015-01-01 15:56:32 -08:00
Quinn Dunki
325db1bd10 - Fixed a bug where mouse wouldn't initialize until a WGPlot was encountered
- Fixed painting routines corrupting PAGE2 switch at random
- Fancy views can now detect clicks in their scroll bar areas
- Callbacks now used as "re-render" messages in scrollable windows
- Scrollbars now automagically functional
2014-10-25 12:01:14 -07:00
Quinn Dunki
ad7309db49 - Fixed non-interactive views repainting superfluously when clicked 2014-10-17 13:03:13 -07:00
Quinn Dunki
addac4355b - Fixed a bug where the first click on a button wouldn't highlight it
- Fixed dragging near buttons leaving trails sometimes
- Fixed a number of interrupt integrity issues with mouse pointer
- Fixed mouse slot scan start from wrong place
- Added dirty background recovery to mouse pointer
- Added safety to prevent mouse pointer stamping
- Fixed some rendering bugs when mouse pointer is in vicinity of updated views
2014-10-17 11:08:14 -07:00
Quinn Dunki
5d00c3286c - More code size optimization
- Reimplemented Print unit test
- Made it easier to exclude AppleSoft API if desired
2014-10-13 19:12:14 -07:00
Quinn Dunki
fd53a53a85 - Implemented most of MLI
- Code cleanup
- GUIDEMO is now the demo for the MLI
2014-10-11 16:12:15 -07:00
Quinn Dunki
38da3a2c8e - Converted WGSetCursor to use zero-page parameter passing
- Eliminated WGInverse and WGNormal API calls
- Added the basic dispatcher for ML API
- Trimmed some unneeded code
- Prototyped assembly language API file
- Another pass on reducing code size
- X register now reserved for dispatcher
- API calls using X register as a parameter converted to Y register
- Added WGSetGlobalCursor
- Some code cleanup
2014-10-03 12:22:19 -07:00
Quinn Dunki
6c36f5e627 - Added a non-blocking version of GET to AppleSoft
- Procedural GOSUBs no longer rely on V flag in Applesoft (wasn't reliable with interrupts)
- Added &MOUSE
- Added &PDACT
- Added &GET
- Button clicking with mouse now flashes state
- Mouse clicking on controls now works from AppleSoft
2014-10-01 15:53:20 -07:00
Quinn Dunki
b1cefa96c0 - Added Pending View, so app run loops can handle mouse actions
- Added XY saving macro
- Tightened up view macros a bit
- Views can now be found and acted on by the mouse
- Mouse rendering now handles missing mouse
- Added the concept of "no focus", so that one view doesn't always have to be highlighted
- Added View finding by screenspace point
2014-09-29 13:45:46 -07:00
Quinn Dunki
6872fa5af0 - Added &INVR and &NRML
- Added &FILL and &DRAW
- Some code cleanup
- Added &PNT, &UNPNT, and &PNTA
2014-09-24 17:03:37 -07:00
Quinn Dunki
ac965177c8 - Compressed AppleSoft command table into half as many bytes
- Improved some AppleSoft error messages
- Integer arguments in AppleSoft now handle signed values as well as unsigned
- Fixed a bug in string arguments
- Added a temp string argument type, whereby the string is pointed to within the AppleSoft source
- Added &CURSR
- Added &PRINT
- Added &SCR
- Added &SCRBY
- Added &ERASE
- Fixed WGPrint not clipping top properly if last line is short and above the plane
- Fixed decorated window titles not rendering properly
2014-09-23 15:33:51 -07:00
Quinn Dunki
d7f775609d - Fixed a bug whereby string arguments couldn't be first in AppleSoft API calls
- Added &TITLE and &SETACT to AppleSoft API
2014-09-21 14:16:12 -07:00
Quinn Dunki
28adec64ca - Added support for titles on checkboxes
- Corrected byte ordering of callback and title pointers in views
2014-09-21 13:46:41 -07:00
Quinn Dunki
58deae7241 - Fixed callbacks on machine language buttons
- Fixed AppleSoft flag not getting set properly on buttons and checkboxes
- Added macros for 16 and 32 bit function calls
- Some code cleanup
2014-09-21 13:08:41 -07:00
Quinn Dunki
477fb59c75 - Some code cleanup
- Support for procedural AppleSoft GOSUB
- Support for more varied parameter types in AppleSoft API calls
- Support for 16-bit integers in AppleSoft API calls
- Added line number GOSUB feature to buttons built from AppleSoft
- Buttons now take callback pointer in init struct
- Added flag bits to upper nibble of style byte on views
- ViewAction now has option for AppleSoft GOSUBs
2014-09-20 18:20:44 -07:00
Quinn Dunki
1c9d9a7bdd - Added support for string arguments within struct parameter lists
- Added string block allocator and copier
- Added AppleSoft API for creating checkboxes and buttons
- Fixed bug with view constructors not correctly selecting the view after creation
2014-09-16 18:01:08 -07:00
Quinn Dunki
7207675b35 - Fixed parameter-less AppleSoft commands
- Added support for struct parameters in AppleSoft
- Added &HOME
- Renamed &VIEW to &WINDOW
- Separated style and ID bytes in view creation
- View state, callbacks, and title pointers are now initialized
- NULL pointers are handled in window titles
- Added function to restore a valid cursor state for AppleSoft upon API exit
2014-09-16 14:04:05 -07:00
Quinn Dunki
5da9ea899b - Converted view constructors to more sensible struct-passing instead of config strings
- Fixed fancy window title rendering
- Focus forward/back now skips non-controls
2014-09-16 08:41:48 -07:00
Quinn Dunki
f5c4af0201 - Parameter parsing and command table working for AppleSoft API
- String and integer vector parameters supported
2014-09-11 14:04:30 -07:00
Quinn Dunki
5dc871c64e - Added delta X/Y scrolling
- Fixed WGPrint doing the wrong thing when entire string is below the clip box
- Fixed WGPrint missing end of string if it lands exactly on logical view boundary
2014-09-08 18:00:40 -07:00
Quinn Dunki
ae3f4f491e - Added desktop painting
- Fixed WGEraseView corrupting the X register
- WGPaintAll now renders contents cleanly
2014-09-07 16:25:26 -07:00
Quinn Dunki
4e1843706e - Fixed some warnings
- Code cleanup
- Added pretty window rendering
2014-09-07 16:06:25 -07:00
Quinn Dunki
6ca94984bc - Arbitrary view focusing 2014-09-07 11:22:32 -07:00
Quinn Dunki
d9aaa8144a - Added reverse focus selection
- Added support for button callbacks
2014-09-07 11:15:59 -07:00
Quinn Dunki
25e24282b3 - Added view selection and focus states
- Added some API for focus selection
- Fixed a bug in selected view table lookup
- View creation now selects new view
- Refactored and fixed bugs in checkbox rendering
- Checkboxes can now be toggled
- Basic API for view actions
- Convenience routine for painting all views
2014-09-05 20:32:16 -07:00
Quinn Dunki
9924d41080 - Painting code for button contents, in both states, with titles 2014-09-05 17:14:37 -07:00
Quinn Dunki
f13f4b1ee2 - Painting code for Checkboxes
- Painting code for Buttons
- Data structures for controls
- Support for single width and height rectangle stroking
- Abstraction of normal and inverse text printing
- Support for lowercase in hex scanning
- Creation of checkboxes and buttons
- Support for view titles
2014-09-05 16:31:33 -07:00
Quinn Dunki
ef8035f244 - Added unit test for text scrolling and clipping 2014-09-02 17:43:09 -07:00
Quinn Dunki
3c4eca1681 - New version of WGPrint that handles scrolling and clipping much better 2014-09-01 11:18:36 -07:00
Quinn Dunki
9cbc3e0cf8 - Initial commit 2014-08-29 12:19:19 -07:00