Watermark logo support #149
Merged
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.
This pull request adds support for customizing a logo watermark in the app, including the ability to show/hide the logo, select from a set of preset logos, and adjust the logo's size. The changes span the watermark engine, repository, UI, and ViewModel to enable this feature. Additionally, padding and border logic have been refined to ensure better layout when borders or logos are used.
Logo Watermark Feature:
WatermarkOptions(showLogo,logoResId,logoSize) to support logo customization.WatermarkEngineto draw the selected logo on the watermark, both in overlay and frame modes, with proper scaling, positioning, and shadow handling. [1] [2] [3]LogoCarouselPickercomposable, allowing users to select a logo from a horizontal carousel in the watermark settings UI. [1] [2]Repository and State Management:
WatermarkRepositoryto persist and update logo-related preferences (showLogo,logoSize) and provided new update methods for these settings. [1] [2] [3]WatermarkViewModelto manage and expose logo settings, and to handle the new logo options in coordination with the repository and UI. [1] [2] [3]Layout and Drawing Improvements:
WatermarkEngineto account for border stroke and logo size, ensuring proper spacing in watermark overlays and frames. [1] [2] [3] [4]These changes collectively introduce a flexible and user-friendly logo watermark feature, while also improving the layout logic for watermark overlays and frames.