SDL_gsvideo.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:3k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997, 1998, 1999, 2000  Sam Lantinga
  4.     This library is free software; you can redistribute it and/or
  5.     modify it under the terms of the GNU Library General Public
  6.     License as published by the Free Software Foundation; either
  7.     version 2 of the License, or (at your option) any later version.
  8.     This library is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  11.     Library General Public License for more details.
  12.     You should have received a copy of the GNU Library General Public
  13.     License along with this library; if not, write to the Free
  14.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  15.     Sam Lantinga
  16.     slouken@libsdl.org
  17. */
  18. #ifdef SAVE_RCSID
  19. static char rcsid =
  20.  "@(#) $Id: SDL_gsvideo.h,v 1.3 2002/04/22 21:38:05 wmay Exp $";
  21. #endif
  22. #ifndef _SDL_gsvideo_h
  23. #define _SDL_gsvideo_h
  24. #include <sys/types.h>
  25. #include <termios.h>
  26. #include <linux/ps2/dev.h>
  27. #include <linux/ps2/gs.h>
  28. #include "SDL_mouse.h"
  29. #include "SDL_mutex.h"
  30. #include "SDL_sysvideo.h"
  31. /* Hidden "this" pointer for the video functions */
  32. #define _THIS SDL_VideoDevice *this
  33. /* Private display data */
  34. struct SDL_PrivateVideoData {
  35. /* Gotta love that simple PS2 graphics interface. :) */
  36. int console_fd;
  37. int memory_fd;
  38. struct ps2_screeninfo saved_vinfo;
  39. /* Ye olde linux keyboard code */
  40. int current_vt;
  41. int saved_vt;
  42. int keyboard_fd;
  43. int saved_kbd_mode;
  44. struct termios saved_kbd_termios;
  45. /* Ye olde linux mouse code */
  46. int mouse_fd;
  47. int cursor_drawn;
  48. /* The memory mapped DMA area and associated variables */
  49. caddr_t mapped_mem;
  50. int pixels_len;
  51. int mapped_len;
  52. struct ps2_image screen_image;
  53. int screen_image_size;
  54. unsigned long long *head_tags_mem;
  55. unsigned long long *image_tags_mem;
  56. unsigned long long *tex_tags_mem;
  57. unsigned long long *scale_tags_mem;
  58. int dma_pending;
  59. };
  60. /* Old variable names */
  61. #define console_fd (this->hidden->console_fd)
  62. #define memory_fd (this->hidden->memory_fd)
  63. #define saved_vinfo (this->hidden->saved_vinfo)
  64. #define current_vt (this->hidden->current_vt)
  65. #define saved_vt (this->hidden->saved_vt)
  66. #define keyboard_fd (this->hidden->keyboard_fd)
  67. #define saved_kbd_mode (this->hidden->saved_kbd_mode)
  68. #define saved_kbd_termios (this->hidden->saved_kbd_termios)
  69. #define mouse_fd (this->hidden->mouse_fd)
  70. #define cursor_drawn (this->hidden->cursor_drawn)
  71. #define mapped_mem (this->hidden->mapped_mem)
  72. #define pixels_len (this->hidden->pixels_len)
  73. #define mapped_len (this->hidden->mapped_len)
  74. #define screen_image (this->hidden->screen_image)
  75. #define screen_image_size (this->hidden->screen_image_size)
  76. #define head_tags_mem (this->hidden->head_tags_mem)
  77. #define image_tags_mem (this->hidden->image_tags_mem)
  78. #define tex_tags_mem (this->hidden->tex_tags_mem)
  79. #define scale_tags_mem (this->hidden->scale_tags_mem)
  80. #define dma_pending (this->hidden->dma_pending)
  81. /* Shared between the mouse and video code for screen update scaling */
  82. extern int scaleimage_nonblock(int fd,
  83.                                unsigned long long *tm, unsigned long long *sm);
  84. #endif /* _SDL_gsvideo_h */