Commit Graph

184 Commits

Author SHA1 Message Date
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 7249f48d4a - Quick first pass to reduce code size 2014-10-02 14:59:13 -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 6111a30559 - Added slot-scan to find mouse card or port
- Mouse routines now work in any slot or port
2014-09-29 11:38:45 -07:00
Quinn Dunki b66b85c23d - Mouse handler is now ProDOS-compliant 2014-09-28 13:56:41 -07:00
Quinn Dunki ac67fee53b - Rough first pass on mouse handler 2014-09-27 17:52:57 -07:00
Quinn Dunki ddf94c9ab1 - Rectangles now automatically handle double horizontal edges close together 2014-09-26 18:05:01 -07:00
Quinn Dunki cd35b7d1b3 - Added &PLOT 2014-09-25 17:41:41 -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 0995f6675d - Library is now designed to be BRUNed from AppleSoft, instead of trying to make an init call
- Fixed a bug in the AppleSoft command matcher with prefixes
- Removed useless &weegui command
- Added &select, &focus, &act,  &focusn, and &focusp commands for AppleSoft
2014-09-19 16:04:36 -07:00
Quinn Dunki 72bab2ba8f - Initialization now clears string allocator
- Changed some AppleSoft APIs to be more keyword-friendly
- Fixed button string pointers being wrong endian in AppleSoft API
- Fixed incorrect endian in return value of string allocator
2014-09-18 16:24:17 -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 663f7278f9 - Started Applesoft API
- Basic command name parsing and matching
- Error handling for undefined calls and syntax errors
2014-09-09 20:34:14 -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
blondie7575 1c7737fc2a Initial commit 2014-08-29 12:14:00 -07:00