summaryrefslogtreecommitdiffstats
path: root/libvo/vo_xmga.c
diff options
context:
space:
mode:
Diffstat (limited to 'libvo/vo_xmga.c')
-rw-r--r--libvo/vo_xmga.c196
1 files changed, 0 insertions, 196 deletions
diff --git a/libvo/vo_xmga.c b/libvo/vo_xmga.c
deleted file mode 100644
index cc6cd1cd0e..0000000000
--- a/libvo/vo_xmga.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * copyright (C) 2001 Zoltan Ponekker
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-//#define SHOW_TIME
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "config.h"
-
-#include "video_out.h"
-#include "video_out_internal.h"
-
-
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#include "drivers/mga_vid.h"
-
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <errno.h>
-
-#ifdef CONFIG_XINERAMA
-#include <X11/extensions/Xinerama.h>
-#endif
-
-#include "x11_common.h"
-#include "sub/sub.h"
-#include "aspect.h"
-
-#ifdef SHOW_TIME
-#include "osdep/timer.h"
-static unsigned int timer = 0;
-static unsigned int timerd = 0;
-#endif
-
-static const vo_info_t info = {
- "Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)",
- "xmga",
- "Zoltan Ponekker <pontscho@makacs.poliod.hu>",
- ""
-};
-
-const LIBVO_EXTERN(xmga)
-
-static uint32_t mDepth;
-static XWindowAttributes attribs;
-static int colorkey;
-
-static uint32_t mvHeight;
-static uint32_t mvWidth;
-
-static XSetWindowAttributes xWAttribs;
-
-static int initialized = 0;
-
-#define VO_XMGA
-#include "mga_template.c"
-#undef VO_XMGA
-
-static void mDrawColorKey(void)
-{
- XSetBackground(mDisplay, vo_gc, 0);
- XClearWindow(mDisplay, vo_window);
- XSetForeground(mDisplay, vo_gc, colorkey);
- XFillRectangle(mDisplay, vo_window, vo_gc, drwX, drwY, drwWidth,
- (vo_fs ? drwHeight - 1 : drwHeight));
- XFlush(mDisplay);
-}
-
-static void check_events(void)
-{
- int e = vo_x11_check_events(mDisplay);
-
- if (e & (VO_EVENT_RESIZE | VO_EVENT_MOVE))
- set_window();
- if (e & (VO_EVENT_RESIZE | VO_EVENT_EXPOSE))
- mDrawColorKey();
-}
-
-static void flip_page(void)
-{
-#ifdef SHOW_TIME
- unsigned int t;
-
- t = GetTimer();
- mp_msg(MSGT_VO, MSGL_STATUS,
- " [timer: %08X diff: %6d dd: %6d ] \n", t, t - timer,
- (t - timer) - timerd);
- timerd = t - timer;
- timer = t;
-#endif
-
- vo_mga_flip_page();
-}
-
-static int config(uint32_t width, uint32_t height, uint32_t d_width,
- uint32_t d_height, uint32_t flags, char *title,
- uint32_t format)
-{
- XVisualInfo vinfo;
- unsigned long xswamask;
- int r, g, b;
-
- if (mga_init(width, height, format))
- return -1; // ioctl errors?
-
- mvWidth = width;
- mvHeight = height;
-
- r = (vo_colorkey & 0x00ff0000) >> 16;
- g = (vo_colorkey & 0x0000ff00) >> 8;
- b = vo_colorkey & 0x000000ff;
- switch (vo_depthonscreen)
- {
- case 32:
- colorkey = vo_colorkey;
- break;
- case 24:
- colorkey = vo_colorkey & 0x00ffffff;
- break;
- case 16:
- colorkey = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3);
- break;
- case 15:
- colorkey = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3);
- break;
- default:
- mp_msg(MSGT_VO, MSGL_ERR,
- "Sorry, this (%d) color depth not supported.\n",
- vo_depthonscreen);
- return -1;
- }
- mp_msg(MSGT_VO, MSGL_V, "Using colorkey: %x\n", colorkey);
-
- initialized = 1;
-
- XGetWindowAttributes(mDisplay, mRootWin, &attribs);
- mDepth = attribs.depth;
- if (mDepth != 15 && mDepth != 16 && mDepth != 24 && mDepth != 32)
- mDepth = 24;
- XMatchVisualInfo(mDisplay, mScreen, mDepth, TrueColor, &vinfo);
- xWAttribs.colormap =
- XCreateColormap(mDisplay, mRootWin, vinfo.visual, AllocNone);
- xWAttribs.background_pixel = 0;
- xWAttribs.border_pixel = 0;
- xswamask = CWBackPixel | CWBorderPixel | CWColormap;
-
- vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height,
- flags, xWAttribs.colormap, "xmga", title);
- XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xWAttribs);
-
- mga_vid_config.colkey_on = 1;
- mga_vid_config.colkey_red = r;
- mga_vid_config.colkey_green = g;
- mga_vid_config.colkey_blue = b;
-
- set_window(); // set up mga_vid_config.dest_width etc
-
- XSync(mDisplay, False);
-
- ioctl(f, MGA_VID_ON, 0);
-
- return 0;
-}
-
-static void uninit(void)
-{
- mp_msg(MSGT_VO, MSGL_V, "vo: uninit!\n");
- mga_uninit();
- if (!initialized)
- return; // no window?
- initialized = 0;
- vo_x11_uninit(); // destroy the window
-}