📄 vfakeio.cxx
字号:
/*
* vfakeio.cxx
*
* Classes to support streaming video input (grabbing) and output.
*
* Portable Windows Library
*
* Copyright (c) 1993-2000 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Portable Windows Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): Derek J Smithies (derek@indranet.co.nz)
*
* $Revision: 19594 $
* $Author: csoutheren $
* $Date: 2008-02-26 12:49:13 +0000 (Tue, 26 Feb 2008) $
*/
#include <ptlib.h>
#if P_VIDEO
#include <ptlib/vconvert.h>
#include <ptlib/pluginmgr.h>
#include <ptlib/pprocess.h>
#include <ptlib/videoio.h>
#include <ptclib/delaychan.h>
#ifdef __MACOSX__
namespace PWLibStupidOSXHacks {
int loadFakeVideoStuff;
};
#endif
enum {
eMovingBlocks,
eMovingLine,
eBouncingBoxes,
eBlankImage,
eOriginalMovingBlocks,
eText,
eNTSCTest,
eNumTestPatterns
};
/****
* The fonts for these letters were written by Sverre H. Huseby, and have been included
* in vfakeio by Derek Smithies.
*/
static PVideoFont::LetterData vFakeLetterData[] = {
{ ' ',
{ " ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" " }},
{ 'a',
{ " ",
" ",
" ",
" **** ",
" *",
" *****",
"* *",
"* **",
" *** *",
" ",
" " }},
{ 'b',
{ "* ",
"* ",
"* ",
"* *** ",
"** *",
"* *",
"* *",
"** *",
"* *** ",
" ",
" " }},
{ 'c',
{ " ",
" ",
" ",
" **** ",
"* *",
"* ",
"* ",
"* *",
" **** ",
" ",
" " }},
{ 'd',
{ " *",
" *",
" *",
" *** *",
"* **",
"* *",
"* *",
"* **",
" *** *",
" ",
" " }},
{ 'e',
{ " ",
" ",
" ",
" **** ",
"* *",
"******",
"* ",
"* *",
" **** ",
" ",
" " }},
{ 'f',
{ " *** ",
" * *",
" * ",
" * ",
"**** ",
" * ",
" * ",
" * ",
" * ",
" ",
" " }},
{ 'g',
{ " ",
" ",
" ",
" *** *",
"* * ",
"* * ",
" *** ",
"* ",
" **** ",
"* *",
" **** " }},
{ 'h',
{ "* ",
"* ",
"* ",
"* *** ",
"** *",
"* *",
"* *",
"* *",
"* *",
" ",
" " }},
{ 'i',
{ " ",
" * ",
" ",
" ** ",
" * ",
" * ",
" * ",
" * ",
"*****",
" ",
" " }},
{ 'j',
{ " ",
" *",
" ",
" **",
" *",
" *",
" *",
" *",
"* *",
"* *",
" *** " }},
{ 'k',
{ "* ",
"* ",
"* ",
"* * ",
"* * ",
"*** ",
"* * ",
"* * ",
"* *",
" ",
" " }},
{ 'l',
{ " ** ",
" * ",
" * ",
" * ",
" * ",
" * ",
" * ",
" * ",
"*****",
" ",
" " }},
{ 'm',
{ " ",
" ",
" ",
"* * ** ",
"** * *",
"* * *",
"* * *",
"* * *",
"* * *",
" ",
" " }},
{ 'n',
{ " ",
" ",
" ",
"* *** ",
"** *",
"* *",
"* *",
"* *",
"* *",
" ",
" " }},
{ 'o',
{ " ",
" ",
" ",
" **** ",
"* *",
"* *",
"* *",
"* *",
" **** ",
" ",
" " }},
{ 'p',
{ " ",
" ",
" ",
"* *** ",
"** *",
"* *",
"** *",
"* *** ",
"* ",
"* ",
"* " }},
{ 'q',
{ " ",
" ",
" ",
" *** *",
"* **",
"* *",
"* **",
" *** *",
" *",
" *",
" *" }},
{ 'r',
{ " ",
" ",
" ",
"* **",
" * ",
" * ",
" * ",
" * ",
" * ",
" ",
" " }},
{ 's',
{ " ",
" ",
" ",
" **** ",
"* *",
" ** ",
" ** ",
"* *",
" **** ",
" ",
" " }},
{ 't',
{ " * ",
" * ",
" * ",
"**** ",
" * ",
" * ",
" * ",
" * *",
" ** ",
" ",
" " }},
{ 'u',
{ " ",
" ",
" ",
"* *",
"* *",
"* *",
"* *",
"* **",
" *** *",
" ",
" " }},
{ 'v',
{ " ",
" ",
" ",
"* *",
"* *",
"* *",
" * * ",
" * * ",
" * ",
" ",
" " }},
{ 'w',
{ " ",
" ",
" ",
"* *",
"* *",
"* * *",
"* * *",
"* * *",
" ** ** ",
" ",
" " }},
{ 'x',
{ " ",
" ",
" ",
"* *",
" * * ",
" ** ",
" ** ",
" * * ",
"* *",
" ",
" " }},
{ 'y',
{ " ",
" ",
" ",
"* *",
"* *",
"* *",
"* **",
" *** *",
" *",
"* *",
" **** " }},
{ 'z',
{ " ",
" ",
" ",
"******",
" * ",
" * ",
" * ",
" * ",
"******",
" ",
" " }},
{ '\xe6',
{ " ",
" ",
" ",
" ** * ",
" * *",
" *****",
"* * ",
"* * *",
" ** * ",
" ",
" " }},
{ '\xf8',
{ " ",
" ",
" *",
" **** ",
"* **",
"* * *",
"* * *",
"** *",
" **** ",
"* ",
" " }},
{ '\xe5',
{ " ** ",
" * * ",
" ** ",
" **** ",
" *",
" *****",
"* *",
"* **",
" *** *",
" ",
" " }},
{ 'A',
{ " ** ",
" * * ",
"* *",
"* *",
"* *",
"******",
"* *",
"* *",
"* *",
" ",
" " }},
{ 'B',
{ "***** ",
" * *",
" * *",
" * *",
" **** ",
" * *",
" * *",
" * *",
"***** ",
" ",
" " }},
{ 'C',
{ " *** ",
"* *",
"* ",
"* ",
"* ",
"* ",
"* ",
"* *",
" *** ",
" ",
" " }},
{ 'D',
{ "***** ",
" * *",
" * *",
" * *",
" * *",
" * *",
" * *",
" * *",
"***** ",
" ",
" " }},
{ 'E',
{ "*****",
"* ",
"* ",
"* ",
"**** ",
"* ",
"* ",
"* ",
"*****",
" ",
" " }},
{ 'F',
{ "*****",
"* ",
"* ",
"* ",
"**** ",
"* ",
"* ",
"* ",
"* ",
" ",
" " }},
{ 'G',
{ " **** ",
"* *",
"* ",
"* ",
"* ",
"* ***",
"* *",
"* **",
" *** *",
" ",
" " }},
{ 'H',
{ "* *",
"* *",
"* *",
"* *",
"******",
"* *",
"* *",
"* *",
"* *",
" ",
" " }},
{ 'I',
{ "***",
" * ",
" * ",
" * ",
" * ",
" * ",
" * ",
" * ",
"***",
" ",
" " }},
{ 'J',
{ " ***",
" *",
" *",
" *",
" *",
" *",
" *",
"* *",
" *** ",
" ",
" " }},
{ 'K',
{ "* *",
"* * ",
"* * ",
"* * ",
"** ",
"* * ",
"* * ",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -