Skip to content

Conversation

@rnetiks
Copy link
Contributor

@rnetiks rnetiks commented Dec 30, 2025

  • Add comprehensive XML documentation to all Wintab structs and methods
  • Rename struct fields from Hungarian notation (pkX, orAzimuth, axMin) to PascalCase
  • Add lcOut struct for configurable output coordinate mapping
  • Make Initialize() accept parameters for context options, packet mode, movement mask, and packet rate
  • Update TabletManager to use new Initialize signature with default 5000x5000 output extent

BREAKING CHANGE: Initialize() now requires lcOut parameter; Packet, Orientation, Rotation, and Axis field names changed to PascalCase

…ontext initialization

- Add comprehensive XML documentation to all Wintab structs and methods
- Rename struct fields from Hungarian notation (pkX, orAzimuth, axMin) to PascalCase
- Add lcOut struct for configurable output coordinate mapping
- Make Initialize() accept parameters for context options, packet mode, movement mask, and packet rate
- Update TabletManager to use new Initialize signature with default 5000x5000 output extent

BREAKING CHANGE: Initialize() now requires lcOut parameter; Packet, Orientation, Rotation, and Axis field names changed to PascalCase
…ontext initialization

- Add comprehensive XML documentation to all Wintab structs and methods
- Rename struct fields from Hungarian notation (pkX, orAzimuth, axMin) to PascalCase
- Add lcOut struct for configurable output coordinate mapping
- Make Initialize() accept parameters for context options, packet mode, movement mask, and packet rate
- Update TabletManager to use new Initialize signature with default 5000x5000 output extent

BREAKING CHANGE: Initialize() now requires lcOut parameter; Packet, Orientation, Rotation, and Axis field names changed to PascalCase
…actor

# Conflicts:
#	src/Shared.Core/Utilities/Tablet.cs
Copy link
Collaborator

@ManlyMarco ManlyMarco left a comment

Choose a reason for hiding this comment

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

This seems like a highly breaking change. I'd only merge it if we are sure there are 0 plugins using this. Also the native structs should at least retain the original native member names in their comments.

If only the initialization method is a breaking change then add an obsolete overload without the new parameters for backwards compatibility.

Comment on lines -265 to -278
context.lcPktData = PK_CONTEXT |
PK_STATUS |
PK_TIME |
PK_CHANGED |
PK_SERIAL_NUMBER |
PK_CURSOR |
PK_BUTTONS |
PK_X |
PK_Y |
PK_Z |
PK_NORMAL_PRESSURE |
PK_TANGENT_PRESSURE |
PK_ORIENTATION |
PK_ROTATION;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why replace this with a magic number?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

mn evaluates to the enum flags, I was gonna all param selection of lcPktData, but then decided against it given that it would cause issues with Packets getting corrupted

/// <summary>
/// Handle to the tablet context that generated this packet.
/// </summary>
public IntPtr Context;
Copy link
Collaborator

Choose a reason for hiding this comment

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

All of those renames are breaking changes too since some of those classes are public. Are you sure no plugin used this API at all?

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.

2 participants