summaryrefslogtreecommitdiff
path: root/twin_screen.c
AgeCommit message (Collapse)AuthorFilesLines
2006-12-05libtwin includes are in $(includedir)/libtwinJeremy Kerr1-418/+0
This change modifies the twin sources to expect twin libraries in the libtwin/ directory. Consequently, we need to move the headers (and sources to keep things clean) into the libtwin/ directory in the source tree. Signed-off-by: Jeremy Kerr <jk@ozlabs.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-12-04Add support for immediate damage refresh to fbdevBenjamin Herrenschmidt1-0/+9
This makes the fbdev backend refresh damaged areas directly from the screen->damaged callback instead of delayed to a "work". The work is still there to handle console switches. In order to avoid flicker and artifacts, we also disable refresh around cursor updates and window content. The demos flicker a lot in this mode, so they'll have to be fixed to disable / enable refresh around some operations too (probably in the widget code), but the overall performances are better for my application as mouse cursor no longer triggers giant updates when moving while something else is updating Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-12-03Fix cursor image handling bugsBenjamin Herrenschmidt1-7/+6
First, don't destroy the previous cursor when relacing it as it's common for applications to store a bunch of cursor images and flipping them in, they don't want to have to re-create them each time. Then, there was a NULL-deref when setting the cursor to NULL to remove it Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-12-03Add a screen hook that allows to install a toplevel event filter,Benjamin Herrenschmidt1-0/+3
can be used to handle global application events, like console switch related events (once I take the primitive keyboard stuff out of twin_fbdev) Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-11-29Add mouse enter/leave events for pixmaps/windows.Benjamin Herrenschmidt1-22/+58
The current "target" is the one under the mouse and also receives mouse movements and button down events. However, once the button has been pressed in a window, all subsequent mouse events will be sent to that window (and no mouse leave will be generated) until the button has been released. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-11-25Add cursor pixmap supportBenjamin Herrenschmidt1-27/+99
This adds support for a cursor pixmap that is always on top and follows mouse movements. It also provides a function for importing a cursor image from an X.org ARGB cursor file. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2006-11-24Change from MIT to LGPL licenseKeith Packard1-18/+15
2004-10-26Add initial widget implementation.Keith Packard1-10/+10
Fix numbers to have the same width. Add new relative-origin clip setting function Change enumerated constants to include Twin prefix Add new widget-based demo Start widget based demo
2004-10-25Add dispatch stuff to manage timeouts, workprocs and files. Remove threadKeith Packard1-13/+0
stuff Split demos into separate files Make drawing origin match clip rectangle. twin_fedit Add glyph editor to CVS to preserve it Add scalable icons Separate 'closing' a subpath from 'finishing' a subpath; the former adds a point back to the start while the latter just leaves the path unclosed and prepares for a new subpath. Eliminate locking, add clipping. Clean up title drawing, use clipping Eliminate locking, use dispatch stuff
2004-10-06Add patterns.Keith Packard1-1/+40
Add screen backgrounds Eliminate spurious border bits Add text display applet
2004-10-06Add the beginings of event dispatch and a bit of window managementKeith Packard1-36/+104
including titles. Default event dispatcher does restacking and motion.
2004-10-05Update API to use twin_ types for most everything.Keith Packard1-8/+10
Rework snapping to correctly snap vertical and horizontal text on pixel boundaries. Change clock watermark
2004-10-02Add put_begin to screen structure so that the backend can batch updates.Keith Packard1-4/+8
Add twin_int_to_fixed. Inline twin_fixed_mul and twin_fixed_div using int64_t. Add twin_text_metrics_utf8. Hard-code the max number of vertices in a glyph. Set various ICCCM properties to make X wms happy. Use better approximation of ellipse major axis radius when drawing circles. Compiler warning. Delete duplicate twin_over definition Allow for multiple clocks, and add watermark. Note that text metrics are quite broken currently.
2004-09-30Handle unhinted text.Keith Packard1-1/+55
Add helper functions Lock pixmaps during drawing Disable screen updates while applications are busy Add threads to manage events and redisplay Paint a clock
2004-09-21Add convolution. Pen starting position needs work.Keith Packard1-1/+1
Move shared geometric functions to new file Add twin_path_circle to generate pens. Fix path edge generator to handle last subpath right. Skip vertices which don't span a sample row test convolutions Add .cvsignore file Mention path primitives Add paths Eliminate some unused variables. Simple path construction Anti-aliased polygon fill code Change twin_bool to twin_bool_t Append cubic Bézier splines to paths Test paths
2004-09-15Initial revisionKeith Packard1-0/+148