2 Copyright 2008, 2011 Haiku, Inc. All rights reserved.
3 Distributed under the terms of the MIT license.
9 #include "accelerant.h"
13 get_accelerant_hook(uint32 feature
, void* data
)
15 (void)data
; // avoid compiler warning for unused arg
19 case B_INIT_ACCELERANT
:
20 return (void*)InitAccelerant
;
21 case B_UNINIT_ACCELERANT
:
22 return (void*)UninitAccelerant
;
23 case B_CLONE_ACCELERANT
:
24 return (void*)CloneAccelerant
;
25 case B_ACCELERANT_CLONE_INFO_SIZE
:
26 return (void*)AccelerantCloneInfoSize
;
27 case B_GET_ACCELERANT_CLONE_INFO
:
28 return (void*)GetAccelerantCloneInfo
;
29 case B_GET_ACCELERANT_DEVICE_INFO
:
30 return (void*)GetAccelerantDeviceInfo
;
31 case B_ACCELERANT_RETRACE_SEMAPHORE
:
32 return (void*)AccelerantRetraceSemaphore
;
35 case B_ACCELERANT_MODE_COUNT
:
36 return (void*)AccelerantModeCount
;
38 return (void*)GetModeList
;
39 case B_PROPOSE_DISPLAY_MODE
:
40 return (void*)ProposeDisplayMode
;
41 case B_SET_DISPLAY_MODE
:
42 return (void*)SetDisplayMode
;
43 case B_GET_DISPLAY_MODE
:
44 return (void*)GetDisplayMode
;
45 case B_GET_PREFERRED_DISPLAY_MODE
:
46 return (void*)GetPreferredDisplayMode
;
48 return (void*)GetEdidInfo
;
49 case B_GET_FRAME_BUFFER_CONFIG
:
50 return (void*)GetFrameBufferConfig
;
51 case B_GET_PIXEL_CLOCK_LIMITS
:
52 return (void*)GetPixelClockLimits
;
54 return (void*)MoveDisplay
;
55 case B_SET_INDEXED_COLORS
:
56 return (void*)(gInfo
.SetIndexedColors
);
57 case B_GET_TIMING_CONSTRAINTS
:
58 return (void*)GetTimingConstraints
;
61 case B_DPMS_CAPABILITIES
:
62 return (void*)(gInfo
.DPMSCapabilities
);
64 return (void*)(gInfo
.GetDPMSMode
);
66 return (void*)(gInfo
.SetDPMSMode
);
69 case B_SET_CURSOR_SHAPE
:
70 return (void*)SetCursorShape
;
72 return (void*)MoveCursor
;
74 return (void*)(gInfo
.ShowCursor
);
77 case B_ACCELERANT_ENGINE_COUNT
:
78 return (void*)AccelerantEngineCount
;
79 case B_ACQUIRE_ENGINE
:
80 return (void*)AcquireEngine
;
81 case B_RELEASE_ENGINE
:
82 return (void*)ReleaseEngine
;
83 case B_WAIT_ENGINE_IDLE
:
84 return (void*)WaitEngineIdle
;
85 case B_GET_SYNC_TOKEN
:
86 return (void*)GetSyncToken
;
88 return (void*)SyncToToken
;
91 case B_SCREEN_TO_SCREEN_BLIT
:
92 return (void*)(gInfo
.ScreenToScreenBlit
);
93 case B_FILL_RECTANGLE
:
94 return (void*)(gInfo
.FillRectangle
);
95 case B_INVERT_RECTANGLE
:
96 return (void*)(gInfo
.InvertRectangle
);
98 return (void*)(gInfo
.FillSpan
);
101 case B_OVERLAY_COUNT
:
102 return (void*)OverlayCount
;
103 case B_OVERLAY_SUPPORTED_SPACES
:
104 return (void*)OverlaySupportedSpaces
;
105 case B_OVERLAY_SUPPORTED_FEATURES
:
106 return (void*)OverlaySupportedFeatures
;
107 case B_ALLOCATE_OVERLAY_BUFFER
:
108 return (void*)AllocateOverlayBuffer
;
109 case B_RELEASE_OVERLAY_BUFFER
:
110 return (void*)ReleaseOverlayBuffer
;
111 case B_GET_OVERLAY_CONSTRAINTS
:
112 return (void*)GetOverlayConstraints
;
113 case B_ALLOCATE_OVERLAY
:
114 return (void*)AllocateOverlay
;
115 case B_RELEASE_OVERLAY
:
116 return (void*)ReleaseOverlay
;
117 case B_CONFIGURE_OVERLAY
:
118 return (void*)ConfigureOverlay
;
121 return NULL
; // Return null pointer for any feature not handled above