Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
m1k1o
GitHub Repository: m1k1o/neko
Path: blob/master/utils/xorg-deps/xf86-video-dummy/v0.3.8/src/dummy_cursor.c
1013 views
1
#ifdef HAVE_CONFIG_H
2
#include "config.h"
3
#endif
4
5
/* All drivers should typically include these */
6
#include "xf86.h"
7
#include "xf86_OSproc.h"
8
9
#include "xf86Cursor.h"
10
#include "cursorstr.h"
11
/* Driver specific headers */
12
#include "dummy.h"
13
14
static void
15
dummyShowCursor(ScrnInfoPtr pScrn)
16
{
17
DUMMYPtr dPtr = DUMMYPTR(pScrn);
18
19
/* turn cursor on */
20
dPtr->DummyHWCursorShown = TRUE;
21
}
22
23
static void
24
dummyHideCursor(ScrnInfoPtr pScrn)
25
{
26
DUMMYPtr dPtr = DUMMYPTR(pScrn);
27
28
/*
29
* turn cursor off
30
*
31
*/
32
dPtr->DummyHWCursorShown = FALSE;
33
}
34
35
#define MAX_CURS 64
36
37
static void
38
dummySetCursorPosition(ScrnInfoPtr pScrn, int x, int y)
39
{
40
DUMMYPtr dPtr = DUMMYPTR(pScrn);
41
42
/* unsigned char *_dest = ((unsigned char *)dPtr->FBBase + */
43
/* pScrn->videoRam * 1024 - 1024); */
44
dPtr->cursorX = x;
45
dPtr->cursorY = y;
46
}
47
48
static void
49
dummySetCursorColors(ScrnInfoPtr pScrn, int bg, int fg)
50
{
51
DUMMYPtr dPtr = DUMMYPTR(pScrn);
52
53
dPtr->cursorFG = fg;
54
dPtr->cursorBG = bg;
55
}
56
57
static void
58
dummyLoadCursorImage(ScrnInfoPtr pScrn, unsigned char *src)
59
{
60
}
61
62
static Bool
63
dummyUseHWCursor(ScreenPtr pScr, CursorPtr pCurs)
64
{
65
DUMMYPtr dPtr = DUMMYPTR(xf86ScreenToScrn(pScr));
66
return(!dPtr->swCursor);
67
}
68
69
#if 0
70
static unsigned char*
71
dummyRealizeCursor(xf86CursorInfoPtr infoPtr, CursorPtr pCurs)
72
{
73
return NULL;
74
}
75
#endif
76
77
Bool
78
DUMMYCursorInit(ScreenPtr pScreen)
79
{
80
DUMMYPtr dPtr = DUMMYPTR(xf86ScreenToScrn(pScreen));
81
82
xf86CursorInfoPtr infoPtr;
83
infoPtr = xf86CreateCursorInfoRec();
84
if(!infoPtr) return FALSE;
85
86
dPtr->CursorInfo = infoPtr;
87
88
infoPtr->MaxHeight = 64;
89
infoPtr->MaxWidth = 64;
90
infoPtr->Flags = HARDWARE_CURSOR_TRUECOLOR_AT_8BPP;
91
92
infoPtr->SetCursorColors = dummySetCursorColors;
93
infoPtr->SetCursorPosition = dummySetCursorPosition;
94
infoPtr->LoadCursorImage = dummyLoadCursorImage;
95
infoPtr->HideCursor = dummyHideCursor;
96
infoPtr->ShowCursor = dummyShowCursor;
97
infoPtr->UseHWCursor = dummyUseHWCursor;
98
/* infoPtr->RealizeCursor = dummyRealizeCursor; */
99
100
return(xf86InitCursor(pScreen, infoPtr));
101
}
102
103
104
105
106