-
Notifications
You must be signed in to change notification settings - Fork 12
Roadmap
Here's general roadmap for kcanvas project development and ongoing feature set, platform support.
Currently project is in alpha state. Some APIs are still under development and probably will be changed. Upon complete version 1 API design the project will move on to beta version. After all beta version bug fixing it will become first release. API must be locked before any beta release, so project can be used in any ongoing development.
- Windows platform support (through Direct2D backend)
- Linux platform support (through Cairo backend)
- OS X platform support (through Quartz 2D)
- Finalized version 1 API
Current API is very close to its final version 1. Some functions will be changed or redefined. No new features will be added (so, feature set will remain as it is now).
Currently resource object handling isn't in its desired state. Any changes here shouldn't touch public API interface. Resource handling should be improved with internal objects reuse and sort of garbage collection for them. This goal isn't tied to any specific version of the library.
Current support of source text handling isn't complete. There is a room for enchancement and additional features support.
Consider following features for implementation:
- Path fill rules
- Path combine functions (boolean ops)
- Path hit-test functions (both for shape and outline)
- Path shape extraction/simplification
Consider following features for implementation:
- Introduce units (currently only device dependent pixels are supported as a default unit)
- Pixel perfect rendering modes
- Support for sRGB/RGB color spaces (source bitmaps and rendering)
- Effects (layer-based effects for group of rendering commands: color manipulations, blur and other filters, shadow)
Define and implement kPrinterCanvas
interface for printing.
Consider simple C function interface as a base layer for API to ease bindings to other languages. Introduction of C API layer shouldn't affect general C++ API classes.