VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.4.2/randrstr.h@ 62425

最後變更 在這個檔案從62425是 43272,由 vboxsync 提交於 12 年 前

Additions/x11: more original X server headers.

  • 屬性 svn:eol-style 設為 native
檔案大小: 18.6 KB
 
1/*
2 * Copyright © 2000 Compaq Computer Corporation
3 * Copyright © 2002 Hewlett-Packard Company
4 * Copyright © 2006 Intel Corporation
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that copyright
9 * notice and this permission notice appear in supporting documentation, and
10 * that the name of the copyright holders not be used in advertising or
11 * publicity pertaining to distribution of the software without specific,
12 * written prior permission. The copyright holders make no representations
13 * about the suitability of this software for any purpose. It is provided "as
14 * is" without express or implied warranty.
15 *
16 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
22 * OF THIS SOFTWARE.
23 *
24 * Author: Jim Gettys, Hewlett-Packard Company, Inc.
25 * Keith Packard, Intel Corporation
26 */
27
28#ifdef HAVE_DIX_CONFIG_H
29#include <dix-config.h>
30#endif
31
32#ifndef _RANDRSTR_H_
33#define _RANDRSTR_H_
34
35#include <X11/X.h>
36#include <X11/Xproto.h>
37#include "misc.h"
38#include "os.h"
39#include "dixstruct.h"
40#include "resource.h"
41#include "scrnintstr.h"
42#include "windowstr.h"
43#include "pixmapstr.h"
44#include "extnsionst.h"
45#include "servermd.h"
46#include <X11/extensions/randr.h>
47#include <X11/extensions/randrproto.h>
48#ifdef RENDER
49#include <X11/extensions/render.h> /* we share subpixel order information */
50#include "picturestr.h"
51#endif
52#include <X11/Xfuncproto.h>
53
54/* required for ABI compatibility for now */
55#define RANDR_10_INTERFACE 1
56#define RANDR_12_INTERFACE 1
57
58typedef XID RRMode;
59typedef XID RROutput;
60typedef XID RRCrtc;
61
62extern int RREventBase, RRErrorBase;
63
64extern int (*ProcRandrVector[RRNumberRequests])(ClientPtr);
65extern int (*SProcRandrVector[RRNumberRequests])(ClientPtr);
66
67/*
68 * Modeline for a monitor. Name follows directly after this struct
69 */
70
71#define RRModeName(pMode) ((char *) (pMode + 1))
72typedef struct _rrMode RRModeRec, *RRModePtr;
73typedef struct _rrPropertyValue RRPropertyValueRec, *RRPropertyValuePtr;
74typedef struct _rrProperty RRPropertyRec, *RRPropertyPtr;
75typedef struct _rrCrtc RRCrtcRec, *RRCrtcPtr;
76typedef struct _rrOutput RROutputRec, *RROutputPtr;
77
78struct _rrMode {
79 int refcnt;
80 xRRModeInfo mode;
81 char *name;
82 ScreenPtr userScreen;
83};
84
85struct _rrPropertyValue {
86 Atom type; /* ignored by server */
87 short format; /* format of data for swapping - 8,16,32 */
88 long size; /* size of data in (format/8) bytes */
89 pointer data; /* private to client */
90};
91
92struct _rrProperty {
93 RRPropertyPtr next;
94 ATOM propertyName;
95 Bool is_pending;
96 Bool range;
97 Bool immutable;
98 int num_valid;
99 INT32 *valid_values;
100 RRPropertyValueRec current, pending;
101};
102
103struct _rrCrtc {
104 RRCrtc id;
105 ScreenPtr pScreen;
106 RRModePtr mode;
107 int x, y;
108 Rotation rotation;
109 Rotation rotations;
110 Bool changed;
111 int numOutputs;
112 RROutputPtr *outputs;
113 int gammaSize;
114 CARD16 *gammaRed;
115 CARD16 *gammaBlue;
116 CARD16 *gammaGreen;
117 void *devPrivate;
118};
119
120struct _rrOutput {
121 RROutput id;
122 ScreenPtr pScreen;
123 char *name;
124 int nameLength;
125 CARD8 connection;
126 CARD8 subpixelOrder;
127 int mmWidth;
128 int mmHeight;
129 RRCrtcPtr crtc;
130 int numCrtcs;
131 RRCrtcPtr *crtcs;
132 int numClones;
133 RROutputPtr *clones;
134 int numModes;
135 int numPreferred;
136 RRModePtr *modes;
137 int numUserModes;
138 RRModePtr *userModes;
139 Bool changed;
140 RRPropertyPtr properties;
141 Bool pendingProperties;
142 void *devPrivate;
143};
144
145#if RANDR_12_INTERFACE
146typedef Bool (*RRScreenSetSizeProcPtr) (ScreenPtr pScreen,
147 CARD16 width,
148 CARD16 height,
149 CARD32 mmWidth,
150 CARD32 mmHeight);
151
152typedef Bool (*RRCrtcSetProcPtr) (ScreenPtr pScreen,
153 RRCrtcPtr crtc,
154 RRModePtr mode,
155 int x,
156 int y,
157 Rotation rotation,
158 int numOutputs,
159 RROutputPtr *outputs);
160
161typedef Bool (*RRCrtcSetGammaProcPtr) (ScreenPtr pScreen,
162 RRCrtcPtr crtc);
163
164typedef Bool (*RROutputSetPropertyProcPtr) (ScreenPtr pScreen,
165 RROutputPtr output,
166 Atom property,
167 RRPropertyValuePtr value);
168
169typedef Bool (*RROutputValidateModeProcPtr) (ScreenPtr pScreen,
170 RROutputPtr output,
171 RRModePtr mode);
172
173typedef void (*RRModeDestroyProcPtr) (ScreenPtr pScreen,
174 RRModePtr mode);
175
176#endif
177
178typedef Bool (*RRGetInfoProcPtr) (ScreenPtr pScreen, Rotation *rotations);
179typedef Bool (*RRCloseScreenProcPtr) ( int i, ScreenPtr pscreen);
180
181/* These are for 1.0 compatibility */
182
183typedef struct _rrRefresh {
184 CARD16 rate;
185 RRModePtr mode;
186} RRScreenRate, *RRScreenRatePtr;
187
188typedef struct _rrScreenSize {
189 int id;
190 short width, height;
191 short mmWidth, mmHeight;
192 int nRates;
193 RRScreenRatePtr pRates;
194} RRScreenSize, *RRScreenSizePtr;
195
196#ifdef RANDR_10_INTERFACE
197
198typedef Bool (*RRSetConfigProcPtr) (ScreenPtr pScreen,
199 Rotation rotation,
200 int rate,
201 RRScreenSizePtr pSize);
202
203#endif
204
205
206typedef struct _rrScrPriv {
207 /*
208 * 'public' part of the structure; DDXen fill this in
209 * as they initialize
210 */
211#if RANDR_10_INTERFACE
212 RRSetConfigProcPtr rrSetConfig;
213#endif
214 RRGetInfoProcPtr rrGetInfo;
215#if RANDR_12_INTERFACE
216 RRScreenSetSizeProcPtr rrScreenSetSize;
217 RRCrtcSetProcPtr rrCrtcSet;
218 RRCrtcSetGammaProcPtr rrCrtcSetGamma;
219 RROutputSetPropertyProcPtr rrOutputSetProperty;
220 RROutputValidateModeProcPtr rrOutputValidateMode;
221 RRModeDestroyProcPtr rrModeDestroy;
222#endif
223
224 /*
225 * Private part of the structure; not considered part of the ABI
226 */
227 TimeStamp lastSetTime; /* last changed by client */
228 TimeStamp lastConfigTime; /* possible configs changed */
229 RRCloseScreenProcPtr CloseScreen;
230
231 Bool changed; /* some config changed */
232 Bool configChanged; /* configuration changed */
233 Bool layoutChanged; /* screen layout changed */
234
235 CARD16 minWidth, minHeight;
236 CARD16 maxWidth, maxHeight;
237 CARD16 width, height; /* last known screen size */
238 CARD16 mmWidth, mmHeight; /* last known screen size */
239
240 int numOutputs;
241 RROutputPtr *outputs;
242
243 int numCrtcs;
244 RRCrtcPtr *crtcs;
245
246 /* Last known pointer position */
247 RRCrtcPtr pointerCrtc;
248
249#ifdef RANDR_10_INTERFACE
250 /*
251 * Configuration information
252 */
253 Rotation rotations;
254 CARD16 reqWidth, reqHeight;
255
256 int nSizes;
257 RRScreenSizePtr pSizes;
258
259 Rotation rotation;
260 int rate;
261 int size;
262#endif
263} rrScrPrivRec, *rrScrPrivPtr;
264
265extern int rrPrivIndex;
266
267#define rrGetScrPriv(pScr) ((rrScrPrivPtr) (pScr)->devPrivates[rrPrivIndex].ptr)
268#define rrScrPriv(pScr) rrScrPrivPtr pScrPriv = rrGetScrPriv(pScr)
269#define SetRRScreen(s,p) ((s)->devPrivates[rrPrivIndex].ptr = (pointer) (p))
270
271/*
272 * each window has a list of clients requesting
273 * RRNotify events. Each client has a resource
274 * for each window it selects RRNotify input for,
275 * this resource is used to delete the RRNotifyRec
276 * entry from the per-window queue.
277 */
278
279typedef struct _RREvent *RREventPtr;
280
281typedef struct _RREvent {
282 RREventPtr next;
283 ClientPtr client;
284 WindowPtr window;
285 XID clientResource;
286 int mask;
287} RREventRec;
288
289typedef struct _RRTimes {
290 TimeStamp setTime;
291 TimeStamp configTime;
292} RRTimesRec, *RRTimesPtr;
293
294typedef struct _RRClient {
295 int major_version;
296 int minor_version;
297/* RRTimesRec times[0]; */
298} RRClientRec, *RRClientPtr;
299
300extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
301extern int RRClientPrivateIndex;
302extern RESTYPE RRCrtcType, RRModeType, RROutputType;
303
304#define LookupOutput(client,id,a) ((RROutputPtr) \
305 (SecurityLookupIDByType (client, id, \
306 RROutputType, a)))
307#define LookupCrtc(client,id,a) ((RRCrtcPtr) \
308 (SecurityLookupIDByType (client, id, \
309 RRCrtcType, a)))
310#define LookupMode(client,id,a) ((RRModePtr) \
311 (SecurityLookupIDByType (client, id, \
312 RRModeType, a)))
313
314#define GetRRClient(pClient) ((RRClientPtr) (pClient)->devPrivates[RRClientPrivateIndex].ptr)
315#define rrClientPriv(pClient) RRClientPtr pRRClient = GetRRClient(pClient)
316
317/* Initialize the extension */
318void
319RRExtensionInit (void);
320
321#ifdef RANDR_12_INTERFACE
322/*
323 * Set the range of sizes for the screen
324 */
325void
326RRScreenSetSizeRange (ScreenPtr pScreen,
327 CARD16 minWidth,
328 CARD16 minHeight,
329 CARD16 maxWidth,
330 CARD16 maxHeight);
331#endif
332
333/* rrscreen.c */
334/*
335 * Notify the extension that the screen size has been changed.
336 * The driver is responsible for calling this whenever it has changed
337 * the size of the screen
338 */
339void
340RRScreenSizeNotify (ScreenPtr pScreen);
341
342/*
343 * Request that the screen be resized
344 */
345Bool
346RRScreenSizeSet (ScreenPtr pScreen,
347 CARD16 width,
348 CARD16 height,
349 CARD32 mmWidth,
350 CARD32 mmHeight);
351
352/*
353 * Send ConfigureNotify event to root window when 'something' happens
354 */
355void
356RRSendConfigNotify (ScreenPtr pScreen);
357
358/*
359 * screen dispatch
360 */
361int
362ProcRRGetScreenSizeRange (ClientPtr client);
363
364int
365ProcRRSetScreenSize (ClientPtr client);
366
367int
368ProcRRGetScreenResources (ClientPtr client);
369
370int
371ProcRRSetScreenConfig (ClientPtr client);
372
373int
374ProcRRGetScreenInfo (ClientPtr client);
375
376/*
377 * Deliver a ScreenNotify event
378 */
379void
380RRDeliverScreenEvent (ClientPtr client, WindowPtr pWin, ScreenPtr pScreen);
381
382/* mirandr.c */
383Bool
384miRandRInit (ScreenPtr pScreen);
385
386Bool
387miRRGetInfo (ScreenPtr pScreen, Rotation *rotations);
388
389Bool
390miRRGetScreenInfo (ScreenPtr pScreen);
391
392Bool
393miRRCrtcSet (ScreenPtr pScreen,
394 RRCrtcPtr crtc,
395 RRModePtr mode,
396 int x,
397 int y,
398 Rotation rotation,
399 int numOutput,
400 RROutputPtr *outputs);
401
402Bool
403miRROutputSetProperty (ScreenPtr pScreen,
404 RROutputPtr output,
405 Atom property,
406 RRPropertyValuePtr value);
407
408Bool
409miRROutputValidateMode (ScreenPtr pScreen,
410 RROutputPtr output,
411 RRModePtr mode);
412
413void
414miRRModeDestroy (ScreenPtr pScreen,
415 RRModePtr mode);
416
417/* randr.c */
418/*
419 * Send all pending events
420 */
421void
422RRTellChanged (ScreenPtr pScreen);
423
424/*
425 * Poll the driver for changed information
426 */
427Bool
428RRGetInfo (ScreenPtr pScreen);
429
430Bool RRInit (void);
431
432Bool RRScreenInit(ScreenPtr pScreen);
433
434RROutputPtr
435RRFirstOutput (ScreenPtr pScreen);
436
437Rotation
438RRGetRotation (ScreenPtr pScreen);
439
440CARD16
441RRVerticalRefresh (xRRModeInfo *mode);
442
443#ifdef RANDR_10_INTERFACE
444/*
445 * This is the old interface, deprecated but left
446 * around for compatibility
447 */
448
449/*
450 * Then, register the specific size with the screen
451 */
452
453RRScreenSizePtr
454RRRegisterSize (ScreenPtr pScreen,
455 short width,
456 short height,
457 short mmWidth,
458 short mmHeight);
459
460Bool RRRegisterRate (ScreenPtr pScreen,
461 RRScreenSizePtr pSize,
462 int rate);
463
464/*
465 * Finally, set the current configuration of the screen
466 */
467
468void
469RRSetCurrentConfig (ScreenPtr pScreen,
470 Rotation rotation,
471 int rate,
472 RRScreenSizePtr pSize);
473
474Bool RRScreenInit (ScreenPtr pScreen);
475
476Rotation
477RRGetRotation (ScreenPtr pScreen);
478
479int
480RRSetScreenConfig (ScreenPtr pScreen,
481 Rotation rotation,
482 int rate,
483 RRScreenSizePtr pSize);
484
485#endif
486
487/* rrcrtc.c */
488
489/*
490 * Notify the CRTC of some change; layoutChanged indicates that
491 * some position or size element changed
492 */
493void
494RRCrtcChanged (RRCrtcPtr crtc, Bool layoutChanged);
495
496/*
497 * Create a CRTC
498 */
499RRCrtcPtr
500RRCrtcCreate (ScreenPtr pScreen, void *devPrivate);
501
502/*
503 * Set the allowed rotations on a CRTC
504 */
505void
506RRCrtcSetRotations (RRCrtcPtr crtc, Rotation rotations);
507
508/*
509 * Notify the extension that the Crtc has been reconfigured,
510 * the driver calls this whenever it has updated the mode
511 */
512Bool
513RRCrtcNotify (RRCrtcPtr crtc,
514 RRModePtr mode,
515 int x,
516 int y,
517 Rotation rotation,
518 int numOutputs,
519 RROutputPtr *outputs);
520
521void
522RRDeliverCrtcEvent (ClientPtr client, WindowPtr pWin, RRCrtcPtr crtc);
523
524/*
525 * Request that the Crtc be reconfigured
526 */
527Bool
528RRCrtcSet (RRCrtcPtr crtc,
529 RRModePtr mode,
530 int x,
531 int y,
532 Rotation rotation,
533 int numOutput,
534 RROutputPtr *outputs);
535
536/*
537 * Request that the Crtc gamma be changed
538 */
539
540Bool
541RRCrtcGammaSet (RRCrtcPtr crtc,
542 CARD16 *red,
543 CARD16 *green,
544 CARD16 *blue);
545
546/*
547 * Notify the extension that the Crtc gamma has been changed
548 * The driver calls this whenever it has changed the gamma values
549 * in the RRCrtcRec
550 */
551
552Bool
553RRCrtcGammaNotify (RRCrtcPtr crtc);
554
555/*
556 * Set the size of the gamma table at server startup time
557 */
558
559Bool
560RRCrtcGammaSetSize (RRCrtcPtr crtc,
561 int size);
562
563/*
564 * Return the area of the frame buffer scanned out by the crtc,
565 * taking into account the current mode and rotation
566 */
567
568void
569RRCrtcGetScanoutSize(RRCrtcPtr crtc, int *width, int *height);
570
571/*
572 * Destroy a Crtc at shutdown
573 */
574void
575RRCrtcDestroy (RRCrtcPtr crtc);
576
577/*
578 * Initialize crtc type
579 */
580Bool
581RRCrtcInit (void);
582
583/*
584 * Crtc dispatch
585 */
586
587int
588ProcRRGetCrtcInfo (ClientPtr client);
589
590int
591ProcRRSetCrtcConfig (ClientPtr client);
592
593int
594ProcRRGetCrtcGammaSize (ClientPtr client);
595
596int
597ProcRRGetCrtcGamma (ClientPtr client);
598
599int
600ProcRRSetCrtcGamma (ClientPtr client);
601
602/* rrdispatch.c */
603Bool
604RRClientKnowsRates (ClientPtr pClient);
605
606/* rrmode.c */
607/*
608 * Find, and if necessary, create a mode
609 */
610
611RRModePtr
612RRModeGet (xRRModeInfo *modeInfo,
613 const char *name);
614
615void
616RRModePruneUnused (ScreenPtr pScreen);
617
618/*
619 * Destroy a mode.
620 */
621
622void
623RRModeDestroy (RRModePtr mode);
624
625/*
626 * Return a list of modes that are valid for some output in pScreen
627 */
628RRModePtr *
629RRModesForScreen (ScreenPtr pScreen, int *num_ret);
630
631/*
632 * Initialize mode type
633 */
634Bool
635RRModeInit (void);
636
637int
638ProcRRCreateMode (ClientPtr client);
639
640int
641ProcRRDestroyMode (ClientPtr client);
642
643int
644ProcRRAddOutputMode (ClientPtr client);
645
646int
647ProcRRDeleteOutputMode (ClientPtr client);
648
649/* rroutput.c */
650
651/*
652 * Notify the output of some change. configChanged indicates whether
653 * any external configuration (mode list, clones, connected status)
654 * has changed, or whether the change was strictly internal
655 * (which crtc is in use)
656 */
657void
658RROutputChanged (RROutputPtr output, Bool configChanged);
659
660/*
661 * Create an output
662 */
663
664RROutputPtr
665RROutputCreate (ScreenPtr pScreen,
666 const char *name,
667 int nameLength,
668 void *devPrivate);
669
670/*
671 * Notify extension that output parameters have been changed
672 */
673Bool
674RROutputSetClones (RROutputPtr output,
675 RROutputPtr *clones,
676 int numClones);
677
678Bool
679RROutputSetModes (RROutputPtr output,
680 RRModePtr *modes,
681 int numModes,
682 int numPreferred);
683
684int
685RROutputAddUserMode (RROutputPtr output,
686 RRModePtr mode);
687
688int
689RROutputDeleteUserMode (RROutputPtr output,
690 RRModePtr mode);
691
692Bool
693RROutputSetCrtcs (RROutputPtr output,
694 RRCrtcPtr *crtcs,
695 int numCrtcs);
696
697Bool
698RROutputSetConnection (RROutputPtr output,
699 CARD8 connection);
700
701Bool
702RROutputSetSubpixelOrder (RROutputPtr output,
703 int subpixelOrder);
704
705Bool
706RROutputSetPhysicalSize (RROutputPtr output,
707 int mmWidth,
708 int mmHeight);
709
710void
711RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output);
712
713void
714RROutputDestroy (RROutputPtr output);
715
716int
717ProcRRGetOutputInfo (ClientPtr client);
718
719/*
720 * Initialize output type
721 */
722Bool
723RROutputInit (void);
724
725/* rrpointer.c */
726void
727RRPointerMoved (ScreenPtr pScreen, int x, int y);
728
729void
730RRPointerScreenConfigured (ScreenPtr pScreen);
731
732/* rrproperty.c */
733
734void
735RRDeleteAllOutputProperties (RROutputPtr output);
736
737RRPropertyValuePtr
738RRGetOutputProperty (RROutputPtr output, Atom property, Bool pending);
739
740RRPropertyPtr
741RRQueryOutputProperty (RROutputPtr output, Atom property);
742
743void
744RRDeleteOutputProperty (RROutputPtr output, Atom property);
745
746Bool
747RRPostPendingProperties (RROutputPtr output);
748
749int
750RRChangeOutputProperty (RROutputPtr output, Atom property, Atom type,
751 int format, int mode, unsigned long len,
752 pointer value, Bool sendevent, Bool pending);
753
754int
755RRConfigureOutputProperty (RROutputPtr output, Atom property,
756 Bool pending, Bool range, Bool immutable,
757 int num_values, INT32 *values);
758int
759ProcRRChangeOutputProperty (ClientPtr client);
760
761int
762ProcRRGetOutputProperty (ClientPtr client);
763
764int
765ProcRRListOutputProperties (ClientPtr client);
766
767int
768ProcRRQueryOutputProperty (ClientPtr client);
769
770int
771ProcRRConfigureOutputProperty (ClientPtr client);
772
773int
774ProcRRDeleteOutputProperty (ClientPtr client);
775
776/* rrxinerama.c */
777void
778RRXineramaExtensionInit(void);
779
780#endif /* _RANDRSTR_H_ */
781
782/*
783
784randr extension implementation structure
785
786Query state:
787 ProcRRGetScreenInfo/ProcRRGetScreenResources
788 RRGetInfo
789
790 • Request configuration from driver, either 1.0 or 1.2 style
791 • These functions only record state changes, all
792 other actions are pended until RRTellChanged is called
793
794 ->rrGetInfo
795 1.0:
796 RRRegisterSize
797 RRRegisterRate
798 RRSetCurrentConfig
799 1.2:
800 RRScreenSetSizeRange
801 RROutputSetCrtcs
802 RRModeGet
803 RROutputSetModes
804 RROutputSetConnection
805 RROutputSetSubpixelOrder
806 RROutputSetClones
807 RRCrtcNotify
808
809 • Must delay scanning configuration until after ->rrGetInfo returns
810 because some drivers will call SetCurrentConfig in the middle
811 of the ->rrGetInfo operation.
812
813 1.0:
814
815 • Scan old configuration, mirror to new structures
816
817 RRScanOldConfig
818 RRCrtcCreate
819 RROutputCreate
820 RROutputSetCrtcs
821 RROutputSetConnection
822 RROutputSetSubpixelOrder
823 RROldModeAdd • This adds modes one-at-a-time
824 RRModeGet
825 RRCrtcNotify
826
827 • send events, reset pointer if necessary
828
829 RRTellChanged
830 WalkTree (sending events)
831
832 • when layout has changed:
833 RRPointerScreenConfigured
834 RRSendConfigNotify
835
836Asynchronous state setting (1.2 only)
837 When setting state asynchronously, the driver invokes the
838 ->rrGetInfo function and then calls RRTellChanged to flush
839 the changes to the clients and reset pointer if necessary
840
841Set state
842
843 ProcRRSetScreenConfig
844 RRCrtcSet
845 1.2:
846 ->rrCrtcSet
847 RRCrtcNotify
848 1.0:
849 ->rrSetConfig
850 RRCrtcNotify
851 RRTellChanged
852 */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette