Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixing stylemask related functions parameter & return type #2200

Closed
joseluis opened this issue Sep 23, 2021 · 7 comments
Closed

fixing stylemask related functions parameter & return type #2200

joseluis opened this issue Sep 23, 2021 · 7 comments
Assignees
Labels
duplicate This issue or pull request already exists
Milestone

Comments

@joseluis
Copy link
Collaborator

I started fixing ncdirect_styles parameter to be const, like the analogous ncplane_styles function, but then I've found more related things I could fix a little. So I changed the return type to uint16_t for the public API functions that return a stylemask. Those are nccell_styles, ncdirect_styles, ncdirect_supported_styles and notcurses_supported_styles.

What I've not dared to change are the private unsigned supported_styles field from the tinfo structure in the termdesc.h file, nor the term_supported_styles return type, but maybe they ought to be updated too.

joseluis added a commit that referenced this issue Sep 23, 2021
@dankamongmen
Copy link
Owner

whooooooa there homie; why are you exporting anything from termdesc.h? that's not installed, and is not suitable for external inclusion.

@joseluis
Copy link
Collaborator Author

whooooooa there homie; why are you exporting anything from termdesc.h? that's not installed, and is not suitable for external inclusion.

not exporting that, just diving into the rabbit hole from the public api to see the root of the declared types... I wasn't sure whether just casting to u16 was enough.

Is what I actually did in the commits ok?

@dankamongmen
Copy link
Owner

dankamongmen commented Sep 23, 2021 via email

@joseluis
Copy link
Collaborator Author

I'm sorry, I've reverted the changes.

joseluis added a commit that referenced this issue Sep 23, 2021
@dankamongmen
Copy link
Owner

I'm sorry, I've reverted the changes.

no problem, man, thanks!

@joseluis
Copy link
Collaborator Author

Would you like to leave this open to tackle this somewhen in the future?

@dankamongmen
Copy link
Owner

I've gone ahead and added this to #1777, where I'm listing all the things to change upon movement to ABI3. I'l go ahead and close this one up. In the meantime, you may assume that no values greater than 0xffff will be returned from these functions.

@dankamongmen dankamongmen added this to the 3.0.0 milestone Sep 26, 2021
@dankamongmen dankamongmen added the duplicate This issue or pull request already exists label Sep 26, 2021
@dankamongmen dankamongmen self-assigned this Sep 26, 2021
dankamongmen added a commit that referenced this issue Oct 16, 2021
* [heuristics] GNU screen 4x never has rgb

* [BitmapSmoothMove] only WARN in test until sixel supports this #2258

* add minimal example for #2266

* contour: enable sextants

* interp PoC: clean up ncvisual #2266

* ncselector_options: constify string arguments

* Constify strings in selector/mselector_items

Use internal types to track items within the
selector/mselector widgets, rather than pressing the
user-provided item structs into double-duty. With this
change, we can constify the strings within those
user-provided items. Do so, also removing the internal-side
elements. Update documentation. Closes #2267.

* constify ncmenu_item/_section strings

* Use Windows pipes for input readiness notification (#2263)

* [windows] use CreatePipe for input #2244
* [input] read and write to Windows readiness handles #2244
* inputready_fd: not on windows, alas

* for now, if it's on windows, it's windows terminal #2248

* tabbed janitorial work

clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options

* notcurses-demo FPS graph: back to straight seconds

* [info] expand some emoji into proper literals

* drop textplay PoC

* remove poc for issue #2266

* constify ncselector_item reference fix #2270

* [ncplayer] restore pause functionality with NCTYPE_RELEASE

* stop pushing termtype to interrogate_terminfo

* menu PoC: ignore NCTYPE_RELEASE

* properly name Windows Terminal

* [windows] HANDLE, not PHANDLE

* ncvisual_render -> ncvisual_blit (core/test) #1462

* ncvisual_render -> ncvisual_blit (docs)

* ncvisual_render -> ncvisual_blit (nctetris)

* [keller] fix up for ncvisual_blit() #1462

* stacking tests: ncvisual_render() -> ncvisual_blit() #1462

* all PoCs: ncvisual_render -> ncvisual_blit #1462

* restore ncvisual_inflate(), for now

* pixel PoC / ncneofetch -> ncvisual_blit() #1462

* notcurses-info: ncvisual_blit, inline all emoji #1462

* rotate PoCpp: ncvisual_blit() #1462

* xray/grid: ncvisual_blit() #1462

* remove last instances of ncvisual_render() #1462

* remove old-style notcurses_ rendering functions

Make notcurses_render() a static inline wrapper around
ncpile_render(). Remove the deprecated
notcurses_render_to_file() and ncpile_render_to_file().
ABI3 work #1777.

* ncstrwidth() becomes static inline wrapper #1777

* remove deprecated ncvisual_subtitle()

* kill ncvisual_inflate(), long deprecated #1777

* remove deprecated palette256 wrappers #1777

* kill ncplane_new() #1777

* remove deprecated renderfp field from notcurses_options #1777

* reorder ncstats fields to match documentation #1777

* kill deprecated style functions #1777

* ncplane_move{top, bottom} become static inline #1777

* fix up move_above()/move_below() #1777

* ncplane_pixelgeom -> ncplane_pixel_geom() #1777

* ncstyle functions ought return uint16_t #1777 #2200

* ncvisualplane_create: provide new pile functionality #1462

* introduce ncvisual_blit() #1462

* reduce ncvisual_render() to wrapper around ncvisual_blit() #1462

* convert most ncvisual_render()s to ncvisual_blit() #1642

Co-authored-by: joseLuís <joseluis@andamira.net>
dankamongmen added a commit that referenced this issue Nov 9, 2021
Long-planned changes for API/ABI3 #1777

* remove old-style notcurses_ rendering functions
* Make notcurses_render() a static inline wrapper around
 ncpile_render(). Remove the deprecated
 notcurses_render_to_file() and ncpile_render_to_file().
* ncstrwidth() becomes static inline wrapper #1777
* remove deprecated ncvisual_subtitle()
* kill ncvisual_inflate(), long deprecated #1777
* remove deprecated palette256 wrappers #1777
* kill ncplane_new() #1777
* remove deprecated renderfp field from notcurses_options #1777
* reorder ncstats fields to match documentation #1777
* kill deprecated style functions #1777
* ncplane_move{top, bottom} become static inline #1777
** ncplane_pixelgeom -> ncplane_pixel_geom() #1777
* ncstyle functions ought return uint16_t #1777 #2200
* ncvisualplane_create: provide new pile functionality #1462
* [heuristics] GNU screen 4x never has rgb
* [BitmapSmoothMove] only WARN in test until sixel supports this #2258
* contour: enable sextants
* interp PoC: clean up ncvisual #2266
* ncselector_options: constify string arguments
* Constify strings in selector/mselector_items
 Use internal types to track items within the
 selector/mselector widgets, rather than pressing the
 user-provided item structs into double-duty. With this
 change, we can constify the strings within those
 user-provided items. Do so, also removing the internal-side
 elements. Update documentation. Closes #2267.
* constify ncmenu_item/_section strings
* constify strings in nctabbed_options
* notcurses-demo FPS graph: back to straight seconds
* remove unused wchar_from_utf8()
* nstrwidth_valid(): properly initialize bytes/width
* [ncneofetch] use GetSystemInfo on Windows
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants