x11proto-render: Changes to 'upstream-unstable'
.gitignore | 4 +
ChangeLog | 4 -
Makefile.am | 12 +++
configure.ac | 6 +
render.h | 23 +++++++
renderproto.txt | 170 ++++++++++++++++++++------------------------------------
6 files changed, 104 insertions(+), 115 deletions(-)
New commits:
commit d889aa6c766e2691e1a6a8189c730661023e4de4
Author: Fredrik Höglund <fredrik@kde.org>
Date: Wed Jul 15 00:16:32 2009 +0200
Bump version to 0.11.
diff --git a/configure.ac b/configure.ac
index c03f421..102abc9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.57])
-AC_INIT([RenderProto], [0.9.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RenderProto], [0.11], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
# Require xorg-macros: XORG_CHANGELOG
commit 533e22db3088bb75e58b6d977ec82a13c4680b54
Author: Fredrik Höglund <fredrik@kde.org>
Date: Wed Jul 15 00:16:08 2009 +0200
Add support for the PDF blend mode operators.
diff --git a/render.h b/render.h
index 497af6d..1afb1ca 100644
--- a/render.h
+++ b/render.h
@@ -33,7 +33,7 @@ typedef XID PictFormat;
#define RENDER_NAME "RENDER"
#define RENDER_MAJOR 0
-#define RENDER_MINOR 10
+#define RENDER_MINOR 11
#define X_RenderQueryVersion 0
#define X_RenderQueryPictFormats 1
@@ -139,6 +139,27 @@ typedef XID PictFormat;
#define PictOpConjointXor 0x2b
#define PictOpConjointMaximum 0x2b
+/*
+ * Operators only available in version 0.11
+ */
+#define PictOpBlendMinimum 0x30
+#define PictOpMultiply 0x30
+#define PictOpScreen 0x31
+#define PictOpOverlay 0x32
+#define PictOpDarken 0x33
+#define PictOpLighten 0x34
+#define PictOpColorDodge 0x35
+#define PictOpColorBurn 0x36
+#define PictOpHardLight 0x37
+#define PictOpSoftLight 0x38
+#define PictOpDifference 0x39
+#define PictOpExclusion 0x3a
+#define PictOpHSLHue 0x3b
+#define PictOpHSLSaturation 0x3c
+#define PictOpHSLColor 0x3d
+#define PictOpHSLLuminosity 0x3e
+#define PictOpBlendMaximum 0x3e
+
#define PolyEdgeSharp 0
#define PolyEdgeSmooth 1
diff --git a/renderproto.txt b/renderproto.txt
index 0934770..5249e6c 100644
--- a/renderproto.txt
+++ b/renderproto.txt
@@ -139,7 +139,11 @@ PICTOP { Clear, Src, Dst, Over, OverReverse, In, InReverse,
ConjointClear, ConjointSrc, ConjointDst, ConjointOver,
ConjointOverReverse, ConjointIn, ConjointInReverse,
ConjointOut, ConjointOutReverse, ConjointAtop,
- ConjointAtopReverse, ConjointXor }
+ ConjointAtopReverse, ConjointXor,
+ Multiply, Screen, Overlay, Darken, Lighten, ColorDodge,
+ ColorBurn, HardLight, SoftLight, Difference, Exclusion,
+ HSLHue, HSLSaturation, HSLColor, HSLLuminosity
+ }
SUBPIXEL { Unknown, HorizontalRGB, HorizontalBGR,
VerticalRGB, VerticalBGR, None
}
@@ -1197,3 +1201,7 @@ what each version before 1.0 implemented:
The repeat picture attribute now supports Pad and
Reflect, older versions only supported None and Normal.
+
+ 0.11:
+ Blend mode operators
+
commit 2c5e931d5e5b5af88bcf8aaed8b10d799fd47b1e
Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Fri Jul 10 21:34:12 2009 -0400
Clarify behavior of IncludeInferior and GraphicsExposures.
diff --git a/renderproto.txt b/renderproto.txt
index 438ce16..0934770 100644
--- a/renderproto.txt
+++ b/renderproto.txt
@@ -365,11 +365,6 @@ pixels within a window geometry obscured by other windows).
axis. Tiles that in both an even numbered row and an even
numbered column are reflected in both axes.
-When GraphicsExposures are selected in the destination picture, a region
-containing at least the union of all destination pixel values affected by
-data replaced as above is delivered after each compositing operation. If
-the resulting region is empty, a NoExpose event is delivered instead.
-
To construct the source and mask operands, the computed pixels values are
transformed through a homogeneous matrix, filtered and then used in the
fundamental rendering operator described above. Each screen provides a list
@@ -631,16 +626,15 @@ CreatePicture
Transformations, filters and repeat modes do not affect the clip
mask.
- For ClipByChildren, destination - but not source - windows are
- additionally clipped by all viewable InputOutput children.
+ When a window is used as a destination, the subwindow_mode
+ determines what happens to pixels obscured by inferior
+ windows. For ClipByChildren the window is clipped by inferiors
+ and siblings. For IncludeInferior, the window is clipped by
+ siblings, but not by inferiors.
- For IncludeInferiors, neither source nor destination windows are
- clipped by inferiors. This will result in including subwindow
- contents in the source and drawing through subwindow boundaries of
- the destination. The use of IncludeInferiors with a source or
- destination window of one depth with mapped inferiors of differing
- depth is not illegal, but the semantics are undefined by this
- extension.
+ When a window is used as source or mask, the subwindow_mode is
+ ignored. Pixels that are obscured by other windows, whether
+ siblings or inferiors, have undefined contents.
The graphics-exposures flag is ignored. GraphicsExposure events are
never generated by this extension.
@@ -778,12 +772,6 @@ Composite
If mask is None, it is replaced by a constant alpha value of 1.
- When dst has graphics-exposures true, a region covering all dst
- pixels affected by substitutions performed on src or mask pixels
- outside their respective geometries is computed. If that region is
- empty, a NoExpose event is sent. Otherwise, a sequence of
- GraphicsExpose events are sent covering that region.
-
FillRectangles
op: PICTOP
commit c4315b2a4704c88924e7a6bc444b5331caa64022
Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Fri May 1 19:39:47 2009 -0400
Clarify semantics of clipping
Source clips are applied on top of the transformed and repeated
window, because that way you can clip out an interesting shape of for
example a repeated gradient, and because this makes the implementation
simple and efficient.
GraphicsExposures are never generated.
The hierarchy clip is ignored for source and mask pictures. This is
because GraphicsExposures are not generated anyway, and because
implementing it correctly in the presense of filters and
transformations would be either inefficient or very complex.
Also make it explicit that the dither argument is not used.
diff --git a/renderproto.txt b/renderproto.txt
index ef371b9..438ce16 100644
--- a/renderproto.txt
+++ b/renderproto.txt
@@ -607,70 +607,63 @@ CreatePicture
dither: ATOM or None
component-alpha: BOOL
- When used as a source or mask operand, the repeat and fill-constant
- values control how pixels outside the geometry of the drawable are
- computed.
-
- Repeat indicates how the drawable contents should be extented
- in both directions.
+ When used as a source or mask operand, Repeat indicates how the
+ drawable contents should be extented in both directions.
The alpha channel of alpha-map is used in place of any alpha channel
contained within the drawable for all rendering operations. The
alpha-mask origin is interpreted relative to the origin of drawable.
- Rendering is additionally clipped by the geometry of alpha-map.
- Exposures to the window do not affect the contents of alpha-map.
- Alpha-map must refer to a picture containing a Pixmap, not a Window
- (or a Match error results).
+ Rendering is additionally clipped by the geometry and clip mask of
+ alpha-map. Exposures to the window do not affect the contents of
+ alpha-map. Alpha-map must refer to a picture containing a Pixmap,
+ not a Window (or a Match error results).
The clip-mask restricts reads and writes to drawable. Only pixels
where the clip-mask has bits set to 1 are read or written. Pixels
are not accessed outside the area covered by the clip-mask or where
the clip-mask has bits set to 0. The clip-mask affects all graphics
requests, including sources. The clip-mask origin is interpreted
- relative to the origin of drawable. If a pixmap is specified as the
- clip-mask, it must have depth 1 and have the same root as the
+ relative to the origin of the picture. If a pixmap is specified as
+ the clip-mask, it must have depth 1 and have the same root as the
drawable (or a Match error results). If clip-mask is None, then
pixels are always drawn, regardless of the clip origin. The
clip-mask can also be set with the SetPictureClipRectangles request.
-
- For ClipByChildren, both source and destination windows are
- additionally clipped by all viewable InputOutput children. For
- IncludeInferiors , neither source nor destination window is clipped
- by inferiors. This will result in including subwindow contents in
- the source and drawing through subwindow boundaries of the
- destination. The use of IncludeInferiors with a source or
+ Transformations, filters and repeat modes do not affect the clip
+ mask.
+
+ For ClipByChildren, destination - but not source - windows are
+ additionally clipped by all viewable InputOutput children.
+
+ For IncludeInferiors, neither source nor destination windows are
+ clipped by inferiors. This will result in including subwindow
+ contents in the source and drawing through subwindow boundaries of
+ the destination. The use of IncludeInferiors with a source or
destination window of one depth with mapped inferiors of differing
depth is not illegal, but the semantics are undefined by this
extension.
- The graphics-exposures flag controls GraphicsExposure event
- generation for Composite requests (and any similar requests
- defined by additional extensions).
+ The graphics-exposures flag is ignored. GraphicsExposure events are
+ never generated by this extension.
- Poly-edge and poly-mode control the rasterization of polygons
- as described above.
+ Poly-edge and poly-mode control the rasterization of polygons as
+ described above.
- Dither selects which of the available dither patterns should
- be used. If dither is None, no dithering will be done.
+ Dither is ignored.
- Component-alpha indicates whether each image component is
- intended as a separate alpha value when the picture is used
- as a mask operand.
+ Component-alpha indicates whether each image component is intended as
+ a separate alpha value when the picture is used as a mask operand.
The default component values are
Component Default
-------------------------------
- repeat False
- fill-nearest: False
+ repeat None
clip-x-origin 0
clip-y-origin 0
clip-mask None
- graphics-exposures True
subwindow-mode ClipByChildren
poly-edge Smooth
poly-mode Precise
- dither None
component-alpha False
ChangePicture
@@ -699,12 +692,14 @@ SetPictureClipRectangles
This request changes clip-mask in picture to the specified list of
rectangles and sets the clip origin. Input and output will be
clipped to remain contained within the rectangles. The clip origin
- is interpreted relative to the origin of the drawable associated
- with picture. The rectangle coordinates are interpreted relative to
- the clip origin. Note that the list of rectangles can be empty,
- which effectively disables output. This is the opposite of passing
- None as the clip-mask in CreatePicture and ChangePicture.
-
+ is interpreted relative to the origin of picture after
+ transformations and repeats have been applied. The rectangle
+ coordinates are interpreted relative to the clip origin.
+
+ The list of rectangles can be empty, which effectively disables
+ output. This is the opposite of passing None as the clip-mask in
+ CreatePicture and ChangePicture.
+
Note that output is clipped to the union of all of the rectangles
and that no particular ordering among the rectangles is required.
commit 2428785895f352f15fb412a630289e44bb2e7cc3
Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Fri May 1 17:39:47 2009 -0400
Delete reference to unimplemented ColorTriangles and ColorTrapezoids
requests.
diff --git a/renderproto.txt b/renderproto.txt
index 22a2194..ef371b9 100644
--- a/renderproto.txt
+++ b/renderproto.txt
@@ -216,12 +216,6 @@ TRAPEZOID [
left, right: LINEFIX
]
(TRAPEZOID is deprecated)
-COLORTRIANGLE [
- p1, p2, p3: COLORPOINT
- ]
-COLORTRAP [
- top, bottom: COLORSPANFIX
- ]
GLYPHSET 32-bit value (top three bits guaranteed to be zero)
GLYPH 32-bit value
GLYPHINFO [
@@ -840,6 +834,8 @@ Trapezoids
for each trapezoid
Combine (op, dst, source, trapezoid)
+ (The Trapezoids request is deprecated)
+
Triangles
op: PICTOP
@@ -924,31 +920,6 @@ TriFan
for each triangle
Combine (op, dst, source, triangle)
-ColorTrapezoids
-
- op: PICTOP
- dst: PICTURE
- trapezoids: LISTofCOLORTRAP
-
- The geometry of the trapezoids must meet the same requirements as
- for the Trapezoids request. The trapezoids are filled in the order
- they occur in the list.
-
-ColorTriangles
-
- op: PICTOP
- dst: PICTURE
- triangles: LISTofCOLORTRIANGLE
-
- The colored triangles are rasterized in the order they occur in the
- list.
-
-???
-
-Should I included compressed triangle representations here?
-
-???
-
CreateGlyphSet
gsid: GLYPHSET
@@ -999,21 +970,6 @@ AddGlyphs
are stored with each glyph in a separate Z-format image padded to a
32-bit boundary. Existing glyphs with the same names are replaced.
-AddGlyphsFromPicture
-
- glyphset: GLYPHSET
- src: PICTURE
- glyphs: LISTofPICTGLYPH
-
- Errors:
- GlyphSet, Alloc
-
- This request adds glyphs to glyphset by copying them from src from
- the locations included in glyphs. Existing glyphs with the same
- names are replaced. Src may be in a different PictFormat than
- glyphset, in which case the images are converted to the glyphset
- format.
-
FreeGlyphs
glyphset: GLYPHSET
commit 64f589368eb0c3070656de283b29b7b0b8ccc10b
Author: Søren Sandmann Pedersen <sandmann@redhat.com>
Date: Fri May 1 17:25:03 2009 -0400
Describe the four repeat options for pictures
Previously there was a description of three repeat options
("Transparent", "Nearest", "Normal") which did not actually exist in
the implementation.
diff --git a/renderproto.txt b/renderproto.txt
index af158b5..22a2194 100644
--- a/renderproto.txt
+++ b/renderproto.txt
@@ -349,21 +349,28 @@ alpha channel is used in the final image composition.
9. Source and Mask Transformations
-When fetching pixels from the source or mask pictures, Render provides three
+When fetching pixels from the source or mask pictures, Render provides four
options for pixel values which fall outside the drawable (this includes
-pixels within a window geometry obscured by other windows).
+pixels within a window geometry obscured by other windows).
- + Transparent. Missing values are replaced with transparent.
+ + None. Missing values are replaced with transparent.
- + Nearest. Replace missing pixels with the nearest available
+ + Pad. Replace missing pixels with the nearest available
pixel. Where multiple pixels are equidistant, select
those with smallest Y and then smallest X coordinates
- + Tile. Select the pixel which would appear were the
+ + Normal. Select the pixel which would appear were the
drawable tiled to enclose the missing coordinate. If
the tiling doesn't cover the coordinate, use the
selected Constant or Nearest mode.
+ * Reflect. Select the pixel which would appear were the
+ drawable tiled to enclose the missing coordinate in such a
+ way that tiles in even numbered columns are reflected in the Y
+ axis, and tiles in even numbered rows are reflected in the X
+ axis. Tiles that in both an even numbered row and an even
+ numbered column are reflected in both axes.
+
When GraphicsExposures are selected in the destination picture, a region
containing at least the union of all destination pixel values affected by
data replaced as above is delivered after each compositing operation. If
commit 802e941e5fee14214687795f857b6dfd1e163af0
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
Date: Tue Jan 27 20:06:28 2009 -0200
Janitor: Correct make distcheck and dont distribute autogen.sh
diff --git a/.gitignore b/.gitignore
index 40daa1d..bc4a016 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,6 @@ install-sh
missing
renderproto.pc
*~
+renderproto-*.tar.*
+ChangeLog
+tags
diff --git a/Makefile.am b/Makefile.am
index 59aaed3..dc2602b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,7 +9,7 @@ pkgconfig_DATA = renderproto.pc
renderdocdir = $(datadir)/doc/$(PACKAGE)
renderdoc_DATA = renderproto.txt
-EXTRA_DIST = autogen.sh renderproto.pc.in $(renderdoc_DATA)
+EXTRA_DIST = renderproto.pc.in $(renderdoc_DATA)
EXTRA_DIST += ChangeLog
MAINTAINERCLEANFILES = ChangeLog
@@ -17,6 +17,6 @@ MAINTAINERCLEANFILES = ChangeLog
.PHONY: ChangeLog
ChangeLog:
- (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+ $(CHANGELOG_CMD)
dist-hook: ChangeLog
diff --git a/configure.ac b/configure.ac
index cfe6a0e..c03f421 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,11 @@ AC_PREREQ([2.57])
AC_INIT([RenderProto], [0.9.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
+# Require xorg-macros: XORG_CHANGELOG
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.2 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.2)
XORG_RELEASE_VERSION
+XORG_CHANGELOG
AC_OUTPUT([Makefile
renderproto.pc])
commit 52fc0c528a2fcedc61070925213cb74f6ce45fb1
Author: James Cloos <cloos@jhcloos.com>
Date: Thu Dec 6 16:39:06 2007 -0500
Replace static ChangeLog with dist-hook to generate from git log
diff --git a/ChangeLog b/ChangeLog
deleted file mode 100644
index c722b51..0000000
--- a/ChangeLog
+++ /dev/null
@@ -1,4 +0,0 @@
-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
-
- * configure.ac:
- Update package version number for final X11R7 release candidate.
diff --git a/Makefile.am b/Makefile.am
index ade7de0..59aaed3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,3 +10,13 @@ renderdocdir = $(datadir)/doc/$(PACKAGE)
renderdoc_DATA = renderproto.txt
EXTRA_DIST = autogen.sh renderproto.pc.in $(renderdoc_DATA)
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
commit 67b12440358eec012023d46e9150ca22c6fd47bf
Author: James Cloos <cloos@jhcloos.com>
Date: Mon Sep 3 05:54:14 2007 -0400
Add *~ to .gitignore to skip patch/emacs droppings
diff --git a/.gitignore b/.gitignore
index 00b2964..40daa1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ configure
install-sh
missing
renderproto.pc
+*~
Reply to: