aboutsummaryrefslogtreecommitdiff
path: root/prototypes/xgb-xrender.go
diff options
context:
space:
mode:
Diffstat (limited to 'prototypes/xgb-xrender.go')
-rw-r--r--prototypes/xgb-xrender.go27
1 files changed, 26 insertions, 1 deletions
diff --git a/prototypes/xgb-xrender.go b/prototypes/xgb-xrender.go
index 73b5fed..3ae51ad 100644
--- a/prototypes/xgb-xrender.go
+++ b/prototypes/xgb-xrender.go
@@ -73,11 +73,34 @@ func main() {
_ = xproto.MapWindow(X, wid)
+ /*
+ rfilters, err := render.QueryFilters(X, xproto.Drawable(wid)).Reply()
+ if err != nil {
+ log.Fatalln(err)
+ }
+
+ filters := []string{}
+ for _, f := range rfilters.Filters {
+ filters = append(filters, f.Name)
+ }
+
+ log.Printf("filters: %v\n", filters)
+ */
+
pformats, err := render.QueryPictFormats(X).Reply()
if err != nil {
log.Fatalln(err)
}
+ /*
+ for _, pf := range pformats.Formats {
+ log.Printf("format %2d: depth %2d, RGBA %3x %3x %3x %3x\n",
+ pf.Id, pf.Depth,
+ pf.Direct.RedMask, pf.Direct.GreenMask, pf.Direct.BlueMask,
+ pf.Direct.AlphaMask)
+ }
+ */
+
// Similar to XRenderFindVisualFormat.
// The DefaultScreen is almost certain to be zero.
var pformat render.Pictformat
@@ -100,6 +123,8 @@ func main() {
if err != nil {
log.Fatalln(err)
}
+
+ // Dithering is not supported. :(
render.CreatePicture(X, pid, xproto.Drawable(wid), pformat, 0, []uint32{})
// Reserve an ID for the gradient.
@@ -133,6 +158,7 @@ func main() {
return
}
+ // We could also use a transformation matrix for changes in size.
_ = render.CreateLinearGradient(X, gid,
render.Pointfix{F64ToFixed(0), F64ToFixed(0)},
render.Pointfix{F64ToFixed(0), F64ToFixed(float64(h) - 100)},
@@ -172,5 +198,4 @@ func main() {
gradient()
}
}
-
}