Skip to content

Conversation

Ellerbach
Copy link
Member

@Ellerbach Ellerbach commented Apr 21, 2023

Description

  • Split graphics in 2 libraries a core and a full one, code cleaning, adding all intellisense comments.

Motivation and Context

  • See discussion .NET nanoFramework graphics improvement proposition Home#1231
  • Have a core graphic nuget to reuse in the IoT Device bindings
    • Color
    • Point
    • IFont
    • Display orientation
    • potentially few other ones
  • While making some changes, adjusting some other elements of the Graphic libs like comments, creating few enums rather than raw constants (all work in progress in this PR)
  • PR on native side done as well with adjustment of version and native declarations after code cleaning.

Second step will be to adjust the Sample repo.
Third step will be to adjust all the IoT Device nugets to include this class. The "old" System.Drawing containing only the Color today will be able to get retired.

How Has This Been Tested?

This has been tested on a real device with the primitive sample. An ESP32 Wrover.

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue with code or algorithm)
  • New feature (non-breaking change which adds functionality to code)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Config and build (change in the configuration and build system, has no impact on code or features)
  • Dependencies (update dependencies and changes associated, has no impact on code or features)
  • Unit Tests (add new Unit Test(s) or improved existing one(s), has no impact on code or features)
  • Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

  • My code follows the code style of this project (only if there are changes in source code).
  • My changes require an update to the documentation (there are changes that require the docs website to be updated).
  • I have updated the documentation accordingly (the changes require an update on the docs in this repo).
  • I have read the CONTRIBUTING document.
  • I have tested everything locally and all new and existing tests passed (only if there are changes in source code).
  • I have added new tests to cover my changes.

@nfbot nfbot added Type: enhancement New feature or request Breaking-Change Type: dependencies Type: documentation Improvements or additions to documentation labels Apr 21, 2023
@alberk8
Copy link

alberk8 commented Apr 21, 2023

Should bitmap be in the core?

@Ellerbach
Copy link
Member Author

Should bitmap be in the core?

I cannot because it is deeply linked to the native part. Creating an abrasct or equivalent has not that much sense neither.

@Ellerbach Ellerbach marked this pull request as ready for review April 28, 2023 16:39
@Ellerbach Ellerbach changed the title [Draft] Split graphics in 2 libraries a core and a full one Split graphics in 2 libraries a core and a full one Apr 28, 2023
Copy link
Member

@josesimoes josesimoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WOW!! This was massive!
A TON of work reworkin, organizing and adding comments (almost!) everywhere.
Impressive work (I'm sure several parts where rather tedious). Thanks for taking care of this.

Just a couple of minor things I've bumped into.

For a future discussion: a general clean-up is due for things like mouse events and keys, keyboard with function keys, numeric keypad, sessions, etc. All this is bagagge from the NETMF days intended for usage scenarious that we are not (nor planning) to address.

@sonarqubecloud
Copy link

sonarqubecloud bot commented May 5, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 82 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

Copy link
Member

@josesimoes josesimoes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good now! Thanks.

@josesimoes josesimoes merged commit 9a47997 into main May 5, 2023
@josesimoes josesimoes deleted the split-graphics-core-full branch May 5, 2023 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking-Change Type: dependencies Type: documentation Improvements or additions to documentation Type: enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants