summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@mandolin.keithp.com>2006-11-01 00:23:37 -0800
committerKeith Packard <keithp@mandolin.keithp.com>2006-11-01 00:23:37 -0800
commit0e858436af67256c0af49317183df4bf8092183c (patch)
tree69fb7705db4233168b117f70c60e8d3821b03543
parent369d4e7d2030c707cf2ce37d06c1d23b0570910c (diff)
downloadxorg-proto-randrproto-0e858436af67256c0af49317183df4bf8092183c.tar.gz
Move physical size information from mode to output.
Modes are stored in CRTCs which have no physical size. Outputs have a physical size which can change, both in response to mode changes as well as (potentially) other factors. Placing the physical size information in the output also permits clone mode to work across monitors of differing physical size.
-rw-r--r--randrproto.h10
-rw-r--r--randrproto.txt12
2 files changed, 14 insertions, 8 deletions
diff --git a/randrproto.h b/randrproto.h
index 90549bd..cff3061 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -183,8 +183,6 @@ typedef struct _xRRModeInfo {
RRMode id B32;
CARD16 width B16;
CARD16 height B16;
- CARD32 mmWidth B32;
- CARD32 mmHeight B32;
CARD32 dotClock B32;
CARD16 hSyncStart B16;
CARD16 hSyncEnd B16;
@@ -196,7 +194,7 @@ typedef struct _xRRModeInfo {
CARD16 nameLength B16;
RRModeFlags modeFlags B32;
} xRRModeInfo;
-#define sz_xRRModeInfo 40
+#define sz_xRRModeInfo 32
typedef struct {
RROutput output B32;
@@ -281,6 +279,8 @@ typedef struct {
Time timestamp B32;
RRCrtc crtc B32;
RROutputOptions currentOptions B32;
+ CARD32 mmWidth B32;
+ CARD32 mmHeight B32;
CARD8 connection;
CARD8 subpixelOrder;
CARD16 nCrtcs B16;
@@ -290,7 +290,7 @@ typedef struct {
CARD16 nameLength B16;
RROutputOptions possibleOptions B32;
} xRRGetOutputInfoReply;
-#define sz_xRRGetOutputInfoReply 36
+#define sz_xRRGetOutputInfoReply 44
typedef struct {
CARD8 reqType;
@@ -374,7 +374,7 @@ typedef struct {
Window window B32;
xRRModeInfo modeInfo;
} xRRCreateModeReq;
-#define sz_xRRCreateModeReq 48
+#define sz_xRRCreateModeReq 40
typedef struct {
BYTE type;
diff --git a/randrproto.txt b/randrproto.txt
index 01b284c..20543bf 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -288,8 +288,7 @@ OUTPUTOPTION { RROutputOptionScaleNone,
MODEINFO { id: MODE
name: STRING
- widthInPixels, heightInPixels: CARD16
- widthInMillimeters, heightInMillimeters: CARD32
+ width, height: CARD16
dotClock: CARD32
hSyncStart, hSyncEnd, hTotal, hSkew: CARD16
vSyncStart, vSyncEnd, vTotal: CARD16
@@ -559,6 +558,7 @@ dynamic changes in the display environment.
name: STRING
connection: CONNECTION
subpixel-order: SUBPIXELORDER
+ widthInMillimeters, heightInMillimeters: CARD32
possible-options: SETofOUTPUTOPTION
crtcs: LISTofCRTC
clones: LISTofOUTPUT
@@ -593,6 +593,10 @@ dynamic changes in the display environment.
'subpixel-order' contains the resulting subpixel order of the
connected device to allow correct subpixel rendering.
+ 'widthInMillimeters' and 'heightInMillimeters' report the physical
+ size of the displayed area. If unknown, or not really fixed (e.g.,
+ for a projector), these values are both zero.
+
'possible-options' indicate which options are supported by this
output device.
@@ -1392,10 +1396,12 @@ A.2.1 Protocol Requests added with version 1.2
1 1 Reply
1 RRCONFIGSTATUS status
2 CARD16 sequence number
- 4 1+c+m+(n+p)/4 reply length
+ 4 3+c+m+(n+p)/4 reply length
4 TIMESTAMP timestamp
4 CRTC current connected crtc
4 SETofOUTPUTOPTION current output options
+ 4 CARD32 width in millimeters
+ 4 CARD32 height in millimeters
1 CONNECTION connection
1 SUBPIXELORDER subpixel-order
2 c number of CRTCs