Commit Graph

40 Commits

Author SHA1 Message Date
Peter Ferrie 258987b04f a bit smaller code 2018-03-07 14:38:22 -08:00
Peter Ferrie a81df445d3 more consistent formatting 2018-03-07 13:34:35 -08:00
4am 39101de3b4 add support for radio buttons 2018-02-28 15:43:14 -05:00
blondie7575 f72a85e802 Added Applesoft API to get selected view
- Also combined WIPE/ERASE APIs into one
2017-12-31 14:23:58 -08:00
blondie7575 d4e09ded5d Fixed parameterless functions failing to parse before colons 2017-12-24 09:08:32 -07:00
blondie7575 5cb58f44dc Added support for raw bytes in view titles 2017-12-21 15:50:50 -08:00
blondie7575 2ef6fc01b4 Merge branch 'master' of https://github.com/blondie7575/WeeGUI
# Conflicts:
#	weegui.dsk
2017-12-20 12:41:47 -08:00
blondie7575 5202ddbeb7 Added support for variables in widget titles
Views, buttons, and checkboxes can now all use Applesoft string variables in their title parameters. Hardcoded literals still work as well.

Also generalized the string pool allocator and added support for allocating pascal strings.
2017-12-20 12:41:34 -08:00
4am 03132095c6 bugfix: &FILL should support mousetext characters [fixes #6] 2017-12-20 09:20:54 -05:00
Quinn Dunki 9600b99d81 &PRINT now supports Applesoft string variables 2016-02-07 15:30:20 -08:00
Quinn Dunki 3702d0c50d Fixed leading spaces not working in &PRINT 2016-02-07 14:08:35 -08:00
Mark Pilgrim ff4f555ccd feedback from pull request 1 2015-07-18 09:51:47 -05:00
Mark Pilgrim b04af05f79 add progress bar view 2015-07-17 23:38:48 -05:00
Quinn Dunki 666083762f HIMEM now set properly to protect weegui code 2015-02-13 08:10:54 -08:00
Quinn Dunki 36e4157db7 Added support for raw characters to WGPrint
- Updated Applesoft sample code
2015-02-03 16:16:05 -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 766072a3c2 Converted &GET to integer 2015-02-01 18:22:05 -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 639ba927fc Bug fixes
- Added Exit routine for cleaning up text state and memory allocation
- Quitting no longer leaves BASIC in inverse sometimes
- Quitting now cleans up ProDOS memory properly
- Added Applesoft API for Exit
2015-01-16 08:18:19 -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 421835ce66 Polish & Docs
- Removed &NRML and &IVER (not needed)
- WeeGUI's memory pages are now reserved in ProDOS's page allocation scheme, to protect us from file operations and such
- Renamed various files to be more friendly
- Cleaned up the disk image
- First draft of documentation
2015-01-02 16:01:38 -08:00
Quinn Dunki 6d6c8bc95e - More code compression 2014-10-14 13:06:38 -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 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 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