randr: Crtc interface update for panning support.
This commit is contained in:
parent
a475eb9fee
commit
834cbc16f3
|
@ -213,9 +213,16 @@ typedef struct _xf86CrtcFuncs {
|
|||
Bool
|
||||
(*set_mode_major)(xf86CrtcPtr crtc, DisplayModePtr mode,
|
||||
Rotation rotation, int x, int y);
|
||||
|
||||
/**
|
||||
* Callback for panning. Doesn't change the mode.
|
||||
*/
|
||||
void
|
||||
(*pan)(xf86CrtcPtr crtc, int x, int y);
|
||||
|
||||
} xf86CrtcFuncsRec, *xf86CrtcFuncsPtr;
|
||||
|
||||
#define XF86_CRTC_VERSION 1
|
||||
#define XF86_CRTC_VERSION 2
|
||||
|
||||
struct _xf86Crtc {
|
||||
/**
|
||||
|
@ -321,6 +328,15 @@ struct _xf86Crtc {
|
|||
* Bounding box in screen space
|
||||
*/
|
||||
BoxRec bounds;
|
||||
/**
|
||||
* Panning:
|
||||
* TotalArea: total panning area, larger than CRTC's size
|
||||
* TrackingArea: Area of the pointer for which the CRTC is panned
|
||||
* border: Borders of the displayed CRTC area which induces panning if the pointer reaches them
|
||||
*/
|
||||
BoxRec panningTotalArea;
|
||||
BoxRec panningTrackingArea;
|
||||
INT16 panningBorder[4];
|
||||
};
|
||||
|
||||
typedef struct _xf86OutputFuncs {
|
||||
|
@ -678,6 +694,9 @@ extern _X_EXPORT Bool
|
|||
xf86CrtcSetMode (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation,
|
||||
int x, int y);
|
||||
|
||||
void
|
||||
xf86CrtcPan (xf86CrtcPtr crtc, int x, int y);
|
||||
|
||||
/*
|
||||
* Assign crtc rotation during mode set
|
||||
*/
|
||||
|
@ -868,4 +887,19 @@ xf86_unwrap_crtc_notify(ScreenPtr pScreen, xf86_crtc_notify_proc_ptr old);
|
|||
extern _X_EXPORT void
|
||||
xf86_crtc_notify(ScreenPtr pScreen);
|
||||
|
||||
/**
|
||||
* Panning
|
||||
*/
|
||||
Bool
|
||||
xf86_crtc_get_panning(ScrnInfoPtr pScrn,
|
||||
BoxPtr totalArea,
|
||||
BoxPtr TrackingArea,
|
||||
INT16 *border);
|
||||
|
||||
Bool
|
||||
xf86_crtc_set_panning(ScrnInfoPtr pScrn,
|
||||
BoxPtr totalArea,
|
||||
BoxPtr TrackingArea,
|
||||
INT16 *border);
|
||||
|
||||
#endif /* _XF86CRTC_H_ */
|
||||
|
|
Loading…
Reference in New Issue
Block a user