Skip to content

Feature/brush and marker#112

Merged
may-tas merged 4 commits intomay-tas:mainfrom
zxnb01:feature/brush-and-marker
Oct 1, 2025
Merged

Feature/brush and marker#112
may-tas merged 4 commits intomay-tas:mainfrom
zxnb01:feature/brush-and-marker

Conversation

@zxnb01
Copy link
Contributor

@zxnb01 zxnb01 commented Sep 30, 2025

What kind of change does this PR introduce?

Feature — enhancement of the drawing canvas with multiple brush types (Brush and Marker) and improved toolbar access.

Issue Number:

Fixes #108

Snapshots/Videos:

Screen.Recording.2025-09-30.223316.mp4

Summary

This PR expands the drawing tools by introducing a dedicated "Brush Types" selection and adding a Marker tool alongside the existing Brush. The draw button now exposes brush options in the toolbar (compact 2x1 grid) so users can pick the tool before or during drawing. Both tools preserve existing color and stroke controls.

Key changes:

  • Added Marker behavior alongside Brush with distinct paint config:
    • Brush: solid, opaque strokes (FilterQuality.high)
    • Marker: semi-transparent strokes (~70% opacity), wider by default (1.5x), medium filter quality
  • UI: compact grid in the drawing tools panel with icons and names; clear highlight for selected tool
  • State: currentBrushType tracked in canvas state and managed via cubit (setBrushType)
  • Centralized paint creation in cubit via _createPaintForBrush
  • Kept color picker and stroke width slider unchanged

Does this PR introduce a breaking change?

Nope

Other information

Future work: we can add additional brush types (watercolor, oil paint, spray, charcoal, highlighter, pencil) using the same pattern (enum + paint configuration + optional custom rendering). Do you want me to proceed and add those next?

Have you read the contributing guide , README.md , code of conduct?

Yes

@github-actions
Copy link
Contributor

Our Pull Request Approval Process

Thanks for contributing!

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

Other

🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.

@may-tas
Copy link
Owner

may-tas commented Oct 1, 2025

@zxnb01 have you registered for the hacktoberfest?
if yes then i will add the hacktoberfest-accepted label on this PR.

@may-tas
Copy link
Owner

may-tas commented Oct 1, 2025

you can also register right now, if you haven't.

@zxnb01
Copy link
Contributor Author

zxnb01 commented Oct 1, 2025

Yes I registered for hacktoberfest

Added a TODO comment for future brush type render methods.
@zxnb01
Copy link
Contributor Author

zxnb01 commented Oct 1, 2025

Also, how is the level label being assigned in gssoc? @may-tas

@may-tas
Copy link
Owner

may-tas commented Oct 1, 2025

@zxnb01, the project admin primarily determines the level to assign a PR, and the level system carries points.

  1. Level 1 : 3 points
  2. Level 2 : 7 points
  3. Level 3 : 10 points

I assign levels tasks based on the complexity of the pull request (PR) rather than the number of lines added. Additionally, if contributors are not active, I may raise the level of the issues and open more high-level topics, even if they are easier to implement. This approach is necessary to attract more contributors and encourage participation in open-source projects.

@may-tas may-tas added the hacktoberfest-accepted This indicates that a pull request (PR) is considered valid for Hacktoberfest 2025. label Oct 1, 2025
@may-tas
Copy link
Owner

may-tas commented Oct 1, 2025

@zxnb01 looks good, merging.
I have added the hacktoberfest-accepted label to your pull request. You need 5 more merged pull requests to qualify for a T-shirt.

I hope you are also contributing to other projects or organizations. The quicker you reach 6 merged pull requests, the better your chances are of winning a T-shirt, as they are limited to the first 10,000 contributors.

Best of luck!

@may-tas may-tas merged commit 65e1e83 into may-tas:main Oct 1, 2025
@zxnb01
Copy link
Contributor Author

zxnb01 commented Oct 2, 2025

yay thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc25 hacktoberfest-accepted This indicates that a pull request (PR) is considered valid for Hacktoberfest 2025. level1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request : Brush type - marker

2 participants

Comments