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

📄 field.h

📁 Linux下比较早的基于命令行的DVD播放器
💻 H
字号:
//// Copyright (c) 2005 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 OUTPUT_UNICHROME_OSD_FIELD_H#define OUTPUT_UNICHROME_OSD_FIELD_H//------------------------------------------------------------------------------#include "unichrome/LogicalWindow.h"//------------------------------------------------------------------------------namespace unichrome {class Unichrome;class Font;class Icon;}//------------------------------------------------------------------------------namespace output { namespace unichrome { namespace osd {//------------------------------------------------------------------------------/** * A field. */class Field : public ::unichrome::LogicalWindow{public:    /**     * Configuration for fields.     */    class Config    {    public:        /**         * The margin of the value on the side it is adjusted to         */        static const size_t valueMargin = 8;                /**         * The margin of the value on the top and bottom it is adjusted to         */        static const size_t valueVerticalMargin = 4;                /**         * The unichrome device we are using.         */        ::unichrome::Unichrome& videoDevice;        /**         * The value font.         */        ::unichrome::Font& valueFont;        /**         * The background color.         */        uint32_t backgroundColor;;                /**         * The height of the value font.         */        size_t valueHeight;        /**         * The top of the value font.         */        ssize_t valueTop;        /**         * The bottom of the value font.         */        ssize_t valueBottom;        /**         * Construct the frame configuration.         */        Config(::unichrome::Unichrome& videoDevice,               ::unichrome::Font& valueFont,               uint32_t backgroundColor,               const char* charset = 0);        /**         * Get the recommended height of the field.         */        size_t getRecommendedHeight() const;        /**         * Get the recommended width of the field for the given         * string.         */        size_t getRecommendedWidth(const char* text) const;    };protected:    /**     * Our config.     */    const Config& config;    /**     * The value colour.     */    uint32_t valueColor;public:    /**     * Construct the field with the given config and size. Note that     * the size is the net size, i.e. the circles will be out of this     * size.     */    Field(const Config& config, ::unichrome::Window& parentWindow,          size_t x, size_t y, size_t width, size_t height,          uint32_t valueColor);    /**     * Set the value of the field.      */    void setValue(const char* value, bool rightJustify = false);    /**     * Set the value of the field from an Icon.     */    void setValue(const ::unichrome::Icon& icon, bool rightJustify = false);protected:    /**     * Print the value without erasing the background.     */    void printValue(const char* value, bool rightJustify);};//------------------------------------------------------------------------------} /* namespace output::unichrome::osd */ } /* namespace output::unichrome */ } /* namespace output *///------------------------------------------------------------------------------#endif // OUTPUT_UNICHROME_OSD_FIELD_H// Local variables:// mode: c++// End:

⌨️ 快捷键说明

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