Comments (4)
Open to changing this API, but ultimately we'd still need to tie a buffer to TextArea
in some way. The idea was that TextArea
should be really lightweight to create during setup/preparation for rendering, then the renderer can keep reusing them.
In my application I cache the Buffer
and any data I need to set up a TextArea
(not the TextArea
itself, but it could contain left
, top
, and bounds
if you'd like, or you could derive them from something else), which avoids the lifetime issue.
from glyphon.
I agree TextArea
should stay as lightweight as possible (maybe even implement Copy
). No need to own a Buffer
, which would cause problems with reusing buffers. For instance, the current API allows reusing the same buffer multiple times in the same prepare
call!
Besides, now that #31 is merged, text areas can be recreated during prepare
without allocating a new collection.
from glyphon.
I agree
TextArea
should stay as lightweight as possible (maybe even implementCopy
). No need to own aBuffer
, which would cause problems with reusing buffers. For instance, the current API allows reusing the same buffer multiple times in the sameprepare
call!Besides, now that #31 is merged, text areas can be recreated during
prepare
without allocating a new collection.
Can you share no allocation example? There is probably on in iced. Because doesn't work for me without mutable reference for collection.
from glyphon.
@madmaxio https://github.com/iced-rs/iced/blob/fd077918db7643530c3a7318ed5777d2f3d8761b/wgpu/src/text.rs#L116-L173
from glyphon.
Related Issues (20)
- Add documentation for all public types
- Some Source Suggestions. HOT 1
- Text atlas pipeline sample count HOT 4
- Feature Request - C API HOT 1
- How is clipping handled? HOT 1
- Out of memory error when max_texture_dimension_2d isn't limited HOT 2
- Convert mouse position to line, character in window event? HOT 4
- `BufferLine::set_align` documentation inconsistency around resets HOT 1
- Depth component of a TextArea HOT 8
- Center Text HOT 18
- OOM with large font size HOT 7
- Integration with application HOT 3
- get dimensions of rendered text HOT 2
- Crate isn't updated on crates.io HOT 5
- Consider adding a changelog and/or use GitHub releases HOT 2
- Fix interpretation of sRGB colors from cosmic-text Attrs as linear HOT 3
- WASM browser support? HOT 3
- Example panics on large window size HOT 1
- Release a new version with wgpu 0.20.0 support HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glyphon.