⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mplayer-1.0pre7try2-xynth.diff

📁 CS架构的多平台的GUI系统
💻 DIFF
📖 第 1 页 / 共 2 页
字号:
++		/* tricky hack for double buffering */+		window->surface->mode = SURFACE_VIRTUAL;+		+		win = window->surface->buf;+	}++	return 0;+}++static uint32_t draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)+{+	assert(0);+	UNUSED(src);+	UNUSED(stride);+	UNUSED(w);+	UNUSED(h);+	UNUSED(x);+	UNUSED(y);++	return VO_ERROR; //this is yv12 only -> vf_scale should do all transforms+}++static uint32_t draw_frame (uint8_t *src[])+{+	assert(0);+	UNUSED(src);+	return VO_ERROR;+}++static void draw_osd (void)+{+	vo_draw_text(image_width, image_height, draw_alpha);+}++static void flip_page (void)+{+	if (!running) {+		return;+	}+	+	window->surface->mode = SURFACE_REAL;+	s_putbox(window->surface, 0, 0, window->surface->width, window->surface->height, window->surface->vbuf);+	window->surface->mode = SURFACE_VIRTUAL;+}++static void check_events (void)+{+}++static void uninit (void)+{+	if (running) {+		s_client_quit(window);+		s_thread_join(tid, NULL);+	}+	running = 0;+}++/*****************************************************************************/++static uint32_t query_format (uint32_t format)+{+	int32_t req_bpp;+	int32_t flags;++	// only RGB modes supported+	if((!IMGFMT_IS_RGB(format)) && (!IMGFMT_IS_BGR(format)))+		return 0;+	// Reject different endian+#ifdef WORDS_BIGENDIAN+	if (IMGFMT_IS_BGR(format))+		return 0;+#else+	if (IMGFMT_IS_RGB(format))+		return 0;+#endif+	if ((format == IMGFMT_BGR4) || (format == IMGFMT_RGB4))+		return 0;+	req_bpp = IMGFMT_RGB_DEPTH(format);+	if ((vo_dbpp > 0) && (vo_dbpp != req_bpp))+		return 0;++	if (req_bpp == window->surface->bitsperpixel) {+		flags = VFCAP_CSP_SUPPORTED |+			VFCAP_CSP_SUPPORTED_BY_HW |+			VFCAP_ACCEPT_STRIDE |+			0;+		if (req_bpp > 8)+			flags |= VFCAP_OSD;+		return flags;+	}++        return 0;+}++static void draw_alpha (int x0, int y0, int w, int h, unsigned char *src, unsigned char *srca, int stride)+{+        int bpp = window->surface->bytesperpixel;+	char *base = window->surface->vbuf + ((y0 * image_width) + x0) * bpp;++	switch (window->surface->bitsperpixel) {+		case 32:+			vo_draw_alpha_rgb32(w, h, src, srca, stride, base, image_width * bpp);+			break;+		case 24:+			vo_draw_alpha_rgb24(w, h, src, srca, stride, base, image_width * bpp);+			break;+		case 16:+			vo_draw_alpha_rgb16(w, h, src, srca, stride, base, image_width * bpp);+			break;+		case 15:+			vo_draw_alpha_rgb15(w, h, src, srca, stride, base, image_width * bpp);+			break;+	}+}++static uint32_t draw_image (mp_image_t *mpi)+{+	int x;+	int y;+	int w;+	int h;+	uint8_t *rgbplane;++	if (!running) {+		return VO_TRUE;+	}+	+	if (mpi->flags & MP_IMGFLAG_DIRECT) {+		assert((uint32_t) mpi->priv >= 0);+		return VO_TRUE; // it's already done+	}++	x = mpi->x;+	y = mpi->y;+	w = mpi->w;+	h = mpi->h;+	rgbplane = mpi->planes[0] + y * mpi->stride[0] + (x * mpi->bpp) / 8;++	s_putbox(window->surface, x, y, w, h, rgbplane);++	return VO_TRUE;+}++static void atexit_handler (s_window_t *w)+{+	if (running) {+		exit_player(NULL);+	}+}+static void keybd_handler_left		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_LEFT); }	/* seek +10		*/+static void keybd_handler_right		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_RIGHT); }	/* seek -10		*/+static void keybd_handler_down		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_DOWN); }	/* seek +60		*/+static void keybd_handler_up		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_UP); }	/* seek -60		*/+static void keybd_handler_pagedown	(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_PAGE_DOWN); }	/* seek +600	*/+static void keybd_handler_pageup	(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_PAGE_UP); }/* seek -600		*/+static void keybd_handler_minus		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('-'); }	/* audio delay +1.000	*/+static void keybd_handler_add		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('+'); }	/* audio delay -1.000	*/+static void keybd_handler_q		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('q'); }	/* quit			*/+static void keybd_handler_esc		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(KEY_ESC); }	/* quit			*/+static void keybd_handler_p		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('p'); }	/* pause		*/+static void keybd_handler_space		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key(' '); }	/* pause		*/+static void keybd_handler_o		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('o'); }	/* osd			*/+static void keybd_handler_z		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('z'); }	/* sub delay -0.1	*/+static void keybd_handler_x		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('x'); }	/* sub delay +0.1	*/+static void keybd_handler_g		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('g'); }	/* sub step -1		*/+static void keybd_handler_y		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('y'); }	/* sub step +1		*/+static void keybd_handler_9		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('9'); }	/* volume -1		*/+static void keybd_handler_divide	(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('/'); }	/* volume -1		*/+static void keybd_handler_0		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('0'); }	/* volume +1		*/+static void keybd_handler_multiply	(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('*'); }	/* volume +1		*/+static void keybd_handler_m		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('m'); }	/* mute			*/+static void keybd_handler_1		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('1'); }	/* contrast -1		*/+static void keybd_handler_2		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('2'); }	/* contrast +1		*/+static void keybd_handler_3		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('3'); }	/* brightness -1	*/+static void keybd_handler_4		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('4'); }	/* brightness +1	*/+static void keybd_handler_5		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('5'); }	/* hue -1		*/+static void keybd_handler_6		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('6'); }	/* hue +1		*/+static void keybd_handler_7		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('7'); }	/* saturation -1	*/+static void keybd_handler_8		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('8'); }	/* saturation +1	*/+static void keybd_handler_d		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('d'); }	/* frame drop		*/+static void keybd_handler_r		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('r'); }	/* sub pos -1		*/+static void keybd_handler_t		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('t'); }	/* sub pos +1		*/+static void keybd_handler_a		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('a'); }	/* sub alignment	*/+static void keybd_handler_v		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('v'); }	/* sub visibility	*/+static void keybd_handler_j		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('j'); }	/* vobsub lang		*/+static void keybd_handler_s		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('s'); }	/* screen shot		*/+static void keybd_handler_w		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('w'); }	/* panscan -0.1		*/+static void keybd_handler_e		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('e'); }	/* panscan +0.1		*/+static void keybd_handler_f		(s_window_t *w, s_event_t *e, s_handler_t *h) { mplayer_put_key('f'); }	/* vo fullscreen	*/++#define keybd_handler_set_(a, b)\+	{\+		s_handler_init(&handler);\+		handler->type = KEYBD_HANDLER;\+		handler->keybd.button = a;\+		handler->keybd.p = b;\+		s_handler_add(window, handler);\+	}++static void keybd_handler_set (void)+{+	s_handler_t *handler;+	+	keybd_handler_set_(S_KEYCODE_RIGHT, keybd_handler_right);+	keybd_handler_set_(S_KEYCODE_LEFT, keybd_handler_left);+	keybd_handler_set_(S_KEYCODE_UP, keybd_handler_up);+	keybd_handler_set_(S_KEYCODE_DOWN, keybd_handler_down);+	keybd_handler_set_(S_KEYCODE_PAGEUP, keybd_handler_pageup);+	keybd_handler_set_(S_KEYCODE_PAGEDOWN, keybd_handler_pagedown);+	keybd_handler_set_(S_KEYCODE_KP_SUBTRACT, keybd_handler_minus);+	keybd_handler_set_(S_KEYCODE_KP_ADD, keybd_handler_add);+	keybd_handler_set_(S_KEYCODE_Q, keybd_handler_q);+	keybd_handler_set_(S_KEYCODE_ESCAPE, keybd_handler_esc);+	keybd_handler_set_(S_KEYCODE_P, keybd_handler_p);+	keybd_handler_set_(S_KEYCODE_SPACE, keybd_handler_space);+	keybd_handler_set_(S_KEYCODE_O, keybd_handler_o);+	keybd_handler_set_(S_KEYCODE_Z, keybd_handler_z);+	keybd_handler_set_(S_KEYCODE_X, keybd_handler_x);+	keybd_handler_set_(S_KEYCODE_G, keybd_handler_g);+	keybd_handler_set_(S_KEYCODE_Y, keybd_handler_y);+	keybd_handler_set_(S_KEYCODE_NINE, keybd_handler_9);+	keybd_handler_set_(S_KEYCODE_KP_DIVIDE, keybd_handler_divide);+	keybd_handler_set_(S_KEYCODE_ZERO, keybd_handler_0);+	keybd_handler_set_(S_KEYCODE_KP_MULTIPLY, keybd_handler_multiply);+	keybd_handler_set_(S_KEYCODE_M, keybd_handler_m);+	keybd_handler_set_(S_KEYCODE_ONE, keybd_handler_1);+	keybd_handler_set_(S_KEYCODE_TWO, keybd_handler_2);+	keybd_handler_set_(S_KEYCODE_THREE, keybd_handler_3);+	keybd_handler_set_(S_KEYCODE_FOUR, keybd_handler_4);+	keybd_handler_set_(S_KEYCODE_FIVE, keybd_handler_5);+	keybd_handler_set_(S_KEYCODE_SIX, keybd_handler_6);+	keybd_handler_set_(S_KEYCODE_SEVEN, keybd_handler_7);+	keybd_handler_set_(S_KEYCODE_EIGHT, keybd_handler_8);+	keybd_handler_set_(S_KEYCODE_D, keybd_handler_d);+	keybd_handler_set_(S_KEYCODE_R, keybd_handler_r);+	keybd_handler_set_(S_KEYCODE_T, keybd_handler_t);+	keybd_handler_set_(S_KEYCODE_A, keybd_handler_a);+	keybd_handler_set_(S_KEYCODE_V, keybd_handler_v);+	keybd_handler_set_(S_KEYCODE_J, keybd_handler_j);+	keybd_handler_set_(S_KEYCODE_F, keybd_handler_f);+	keybd_handler_set_(S_KEYCODE_S, keybd_handler_s);+	keybd_handler_set_(S_KEYCODE_W, keybd_handler_w);+	keybd_handler_set_(S_KEYCODE_E, keybd_handler_e);+}+static void handler_set (void)+{+	keybd_handler_set();+}+

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -