-
Notifications
You must be signed in to change notification settings - Fork 6
Add support for BlocksDS and various fixes #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AntonioND
wants to merge
7
commits into
ant512:master
Choose a base branch
from
AntonioND:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Author
|
I'm not sure if you're interested in this. If you aren't, I can keep the changes in my fork. |
The tests don't build due to a missing header (gadgeteventargs.h) so no new makefiles have been added to the tests folder.
I fixed the TextBox class by simply replacing everything with just a subclass of MultiLineTextBox and ovverriding some methods. I also fixed a bug in MultiLineTextBox that wouldn't let me open a keyboard by double clicking if it was empty. I simply initialized the object with "." as text if the text was empty and then after the first draw I removed the dot and made the gadget be redrawn.
The red slider is currently broken.
Some gadgets disable events temporarily so that they can do tasks without triggering user-defined handlers. We need a new getRaisesEvents() helper to get the original state of the raisesEvents flag because raisesEvents() doesn't just return the value of the flag, it also checks if there is an event handler and if the shelved flag is true. This was discovered because ColourPicker had a bug where the red slider wouldn't update the color, but the others did. That happened because the dimensions of the red slider were changed before assigning an event handler, so raisesEvents() was false even though the raisesEvents flag was true.
This was pretty obvious in the "keyboard_textbox" example, where pressing the shift/caps lock button. The rightmost part of the characters in the keyboard wouldn't be cleared correctly, some part of it would remain when shifting from uppercase to lowercase (because uppercase is bigger). This change also has the effect of reducing the size of the binary because it reuses markTextRectDamaged() rather than reimplementing similar code in all the affected functions.
Author
|
As you see, this PR also has a few bugfixes as well. I'm not sure if you're maintaining this library right now. If you want to ignore the BlocksDS build system you can also apply the other patches by yourself, or I can remove them from this PR. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
All I've had to do was to fix a build error due to a missing include.
The tests don't build due to a missing header (gadgeteventargs.h) so no
new makefiles have been added to the tests folder.
Also, some fixes have been added to this PR (one of them thanks to
@Gabryx64).