Lines Matching +full:x +full:- +full:origin
1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 1991-1997 Søren Schmidt
43 #define min(x, y) (((x) < (y)) ? (x) : (y)) argument
44 #define max(x, y) (((x) > (y)) ? (x) : (y)) argument
88 ioctl(0, _IO('V', VGLOldMode - M_VESA_BASE), 0); in VGLEnd()
147 return -1; in VGLInit()
161 return -1; in VGLInit()
167 return -1; in VGLInit()
172 return -1; in VGLInit()
175 return -1; in VGLInit()
179 return -2; in VGLInit()
183 return -3; in VGLInit()
190 * in -CURRENT. in VGLInit()
198 return -4; in VGLInit()
200 VGLDisplay->Type = VIDBUF4; in VGLInit()
201 VGLDisplay->PixelBytes = 1; in VGLInit()
207 return -4; in VGLInit()
209 VGLDisplay->Type = VIDBUF8; in VGLInit()
210 VGLDisplay->PixelBytes = 1; in VGLInit()
213 VGLDisplay->Type = VIDBUF8X; in VGLInit()
214 VGLDisplay->PixelBytes = 1; in VGLInit()
217 VGLDisplay->PixelBytes = VGLModeInfo.vi_pixel_size; in VGLInit()
218 switch (VGLDisplay->PixelBytes) { in VGLInit()
220 VGLDisplay->Type = VIDBUF16; in VGLInit()
223 VGLDisplay->Type = VIDBUF24; in VGLInit()
226 VGLDisplay->Type = VIDBUF32; in VGLInit()
230 return -4; in VGLInit()
235 return -4; in VGLInit()
242 return -5; in VGLInit()
246 return -6; in VGLInit()
250 * Calculate the shadow screen buffer size. In -CURRENT, va_buffer_size in VGLInit()
254 * In -STABLE, va_buffer_size holds the frame buffer size, only if in VGLInit()
268 * The above is for old -CURRENT. Current -CURRENT since r203535 and/or in VGLInit()
283 return -7; in VGLInit()
287 fprintf(stderr, "VGLBufSize:0x%x\n", VGLBufSize); in VGLInit()
292 switch (VGLDisplay->Type) { in VGLInit()
294 VGLDisplay->Type = VIDBUF4S; in VGLInit()
297 VGLDisplay->Type = VIDBUF8S; in VGLInit()
300 VGLDisplay->Type = VIDBUF16S; in VGLInit()
303 VGLDisplay->Type = VIDBUF24S; in VGLInit()
306 VGLDisplay->Type = VIDBUF32S; in VGLInit()
310 return -8; in VGLInit()
317 VGLDisplay->Xsize = VGLModeInfo.vi_width; in VGLInit()
318 VGLDisplay->Ysize = VGLModeInfo.vi_height; in VGLInit()
323 VGLDisplay->VXsize = VGLAdpInfo.va_line_width in VGLInit()
325 VGLDisplay->VYsize = VGLBufSize/VGLModeInfo.vi_planes/VGLAdpInfo.va_line_width; in VGLInit()
326 VGLDisplay->Xorigin = 0; in VGLInit()
327 VGLDisplay->Yorigin = 0; in VGLInit()
333 return -7; in VGLInit()
335 VGLDisplay->Bitmap = VGLMem; in VGLInit()
349 VGLDisplay->Xsize, VGLDisplay->Ysize, in VGLInit()
350 VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLInit()
360 return -9; in VGLInit()
386 VGLDisplay->Type = VIDBUF8; /* XXX */ in VGLCheckSwitch()
391 VGLDisplay->Type = VIDBUF4S; in VGLCheckSwitch()
393 VGLDisplay->Type = VIDBUF4; in VGLCheckSwitch()
401 VGLDisplay->Type = VIDBUF8S; in VGLCheckSwitch()
403 VGLDisplay->Type = VIDBUF8; in VGLCheckSwitch()
407 VGLDisplay->Type = VIDBUF8X; in VGLCheckSwitch()
413 VGLDisplay->Type = VIDBUF16S; in VGLCheckSwitch()
415 VGLDisplay->Type = VIDBUF16; in VGLCheckSwitch()
419 VGLDisplay->Type = VIDBUF24S; in VGLCheckSwitch()
421 VGLDisplay->Type = VIDBUF24; in VGLCheckSwitch()
425 VGLDisplay->Type = VIDBUF32S; in VGLCheckSwitch()
427 VGLDisplay->Type = VIDBUF32; in VGLCheckSwitch()
438 VGLDisplay->Bitmap = VGLMem; in VGLCheckSwitch()
439 VGLDisplay->Xsize = VGLModeInfo.vi_width; in VGLCheckSwitch()
440 VGLDisplay->Ysize = VGLModeInfo.vi_height; in VGLCheckSwitch()
441 VGLSetVScreenSize(VGLDisplay, VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLCheckSwitch()
445 VGLPanScreen(VGLDisplay, VGLDisplay->Xorigin, VGLDisplay->Yorigin); in VGLCheckSwitch()
447 VGLDisplay->VXsize, VGLDisplay->VYsize); in VGLCheckSwitch()
453 munmap(VGLDisplay->Bitmap, VGLAdpInfo.va_window_size); in VGLCheckSwitch()
459 VGLDisplay->Bitmap = VGLBuf; in VGLCheckSwitch()
460 VGLDisplay->Type = MEMBUF; in VGLCheckSwitch()
461 VGLDisplay->Xsize = VGLDisplay->VXsize; in VGLCheckSwitch()
462 VGLDisplay->Ysize = VGLDisplay->VYsize; in VGLCheckSwitch()
483 if (VXsize < object->Xsize || VYsize < object->Ysize) in VGLSetVScreenSize()
484 return -1; in VGLSetVScreenSize()
485 if (object->Type == MEMBUF) in VGLSetVScreenSize()
486 return -1; in VGLSetVScreenSize()
488 return -1; in VGLSetVScreenSize()
493 object->VXsize = VGLAdpInfo.va_line_width in VGLSetVScreenSize()
495 object->VYsize = VGLBufSize/VGLModeInfo.vi_planes/VGLAdpInfo.va_line_width; in VGLSetVScreenSize()
496 if (VYsize < object->VYsize) in VGLSetVScreenSize()
497 object->VYsize = VYsize; in VGLSetVScreenSize()
501 object->Xsize, object->Ysize, object->VXsize, object->VYsize); in VGLSetVScreenSize()
508 VGLPanScreen(VGLBitmap *object, int x, int y) in VGLPanScreen() argument
510 video_display_start_t origin; in VGLPanScreen() local
512 if (x < 0 || x + object->Xsize > object->VXsize in VGLPanScreen()
513 || y < 0 || y + object->Ysize > object->VYsize) in VGLPanScreen()
514 return -1; in VGLPanScreen()
515 if (object->Type == MEMBUF) in VGLPanScreen()
517 origin.x = x; in VGLPanScreen()
518 origin.y = y; in VGLPanScreen()
519 if (ioctl(0, FBIO_SETDISPSTART, &origin)) in VGLPanScreen()
520 return -1; in VGLPanScreen()
521 object->Xorigin = x; in VGLPanScreen()
522 object->Yorigin = y; in VGLPanScreen()
525 fprintf(stderr, "new origin: (%d, %d)\n", x, y); in VGLPanScreen()