📄 targetposition.h
字号:
//// Copyright (c) 2003 by Istv醤 V醨adi//// This file is part of dxr3Player, a DVD player written specifically // for the DXR3 (aka Hollywood+) decoder card.// This program 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.//// This program 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 this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA#ifndef DXR3PLAYER_DVD_VM_TARGETPOSITION#define DXR3PLAYER_DVD_VM_TARGETPOSITION//------------------------------------------------------------------------------#include "dvd/vm/Position.h"//------------------------------------------------------------------------------namespace dvd { namespace vm {//------------------------------------------------------------------------------/** * Target position. This adds higher-level position manipulation * functions to the basic position. */class TargetPosition : public Position{public: /** * Construct the target position from the given starting position. */ TargetPosition(const Position& initial); /** * Enter the PGC with the given number within the current domain. * * @return of the entry was successful */ bool enterPGC(unsigned pgcNo, unsigned programNo = 1); /** * Enter the first play PGC. */ void enterFirstPlayPGC(); /** * Enter a menu in the current domain */ bool enterMenu(unsigned menuID); /** * Enter a menu in the current domain. * * @param forced if true, the menu will be searched in all VTSs * starting from the VMG. */ bool enterMenu(unsigned menuID, bool forced); /** * Enter a Video Manager menu */ bool enterVMGMenu(unsigned menuID); /** * Enter a Video Manager PGC */ bool enterVMGPGC(unsigned pgcNo); /** * Repeat the current PGC. */ bool repeatPGC(); /** * Enter the next PGC as indicated by the current one. */ bool enterNextPGC(); /** * Enter the previous PGC as indicated by the current one. */ bool enterPreviousPGC(); /** * Enter the GoUp PGC as indicated by the current one. */ bool enterGoUpPGC(); /** * Enter the program with the given number. * * @param programNo the number of the program to enter. */ bool enterProgram(unsigned programNo); /** * Repeat the current program. */ bool repeatProgram(); /** * Enter the next program. */ bool enterNextProgram(); /** * Enter the previous program. */ bool enterPreviousProgram(); /** * Enter the first cell of the last program in the PGC. */ bool enterLastProgram(); /** * Enter the given cell. */ bool enterCell(unsigned cellNo); /** * Repeat the current cell (i.e. reset the sector number). */ bool repeatCell(); /** * Enter the cell after the current one (taking into account angles). */ bool enterNextCell(); /** * Enter the cell before the current one (taking into account angles). */ bool enterPreviousCell(); /** * Enter the last cell of the PGC. */ bool enterLastCell(); /** * Enter the last VOBU's first sector of the current cell. */ bool enterLastVOBU(); /** * Enter the given title. We should be in the Video Manager * (should we?). */ bool enterTT(unsigned titleNo); /** * Enter the given VTS and VTS title. */ bool enterVTS(unsigned vtsNo, unsigned vtsTitleNo); /** * Enter the given VTS title. We should be in the Video Manager * (should we?). */ bool enterVTSTitle(unsigned vtsTitleNo, unsigned pttNo = 1); /** * Enter the given Part of Title in the current VTS. It also * enters the PGC. */ bool enterPTT(unsigned vtsTitleNo, unsigned pttNo);private: /** * Enter the given base cell. It is assumed that the cell is a * base cell (see the definition above in the description of * findBaseCell), and if it is an angle cell, its number is * shifted by the current angle number. */ bool enterBaseCell(PGC pgc, unsigned cellNo);};//------------------------------------------------------------------------------// Inline definitions//------------------------------------------------------------------------------inline TargetPosition::TargetPosition(const Position& initial) : Position(initial){}//------------------------------------------------------------------------------} /* namespace dvd::vm */ } /* namespace dvd *///------------------------------------------------------------------------------#endif // DXR3PLAYER_DVD_VM_TARGETPOSITION// Local variables:// mode: c++// End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -