Skip to content

Conversation

@Amit-Matth
Copy link
Contributor

@Amit-Matth Amit-Matth commented Jan 9, 2026

This PR adds a pipette tool to the color picker, allowing users to pick a color directly from the canvas.

PAINTROID-737

New Features and Enhancements

As present in the native application, a pipette tool for selecting a particular color from the current state of the drawing canvas is implemented. This tool is a part of the colorpicker package itself and allows the user to pick any color from the drawing and use it on other objects.

  • Pipette Integration: Added PipetteToolButton to the ColorPicker UI, enabling navigation to the color selection interface.
  • Pipette Page: Developed PipettePage to render a screen snapshot and extract colors using ui.Image byte data.
  • Precision Loupe: Implemented a magnifying loupe with a crosshair for accurate color picking during pan gestures.
  • Confirmation Flow: Added a "Save changes?" dialog to ensure picked colors are not lost when navigating back without confirmation.
  • Testing: Created a robust test suite in pipette_button_test.dart covering UI alignment, navigation, color selection, loupe visibility, and dialog interactions.

Refactorings and Bug Fixes

  • Refactorings and Bug Fixes

Checklist

Your checklist for this pull request

Please review the contributing guidelines and wiki pages of this repository.

  • Include the name of the Jira ticket in the PR’s title
  • Add the link to the ticket in Jira in the description of the PR
  • Include a summary of the changes plus the relevant context
  • Choose the proper base branch (develop)
  • Confirm that the changes follow the project’s coding guidelines (Wiki)
  • Verify that the changes generate no compiler or linter warnings
  • Perform a self-review of the changes
  • Verify to commit no other files than the intentionally changed ones
  • Include reasonable and readable tests verifying the added or changed behavior
  • Confirm that new and existing tests pass locally
  • Check that the commits’ message style matches the project’s guideline
  • Verify that your changes do not have any conflicts with the base branch
  • After the PR, verify that all CI checks have passed
  • Add new information to the Wiki

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant