From 7a87ac98381ad83d6276df2fc44c72a830606575 Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 2 May 2004 07:45:50 +0000 Subject: Ajout du raw loader. --- 2004/i/nono/src/image/raw_loader.h | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 2004/i/nono/src/image/raw_loader.h (limited to '2004/i/nono/src/image/raw_loader.h') diff --git a/2004/i/nono/src/image/raw_loader.h b/2004/i/nono/src/image/raw_loader.h new file mode 100644 index 0000000..7e16bd0 --- /dev/null +++ b/2004/i/nono/src/image/raw_loader.h @@ -0,0 +1,54 @@ +#ifndef raw_loader_h +#define raw_loader_h +// raw_loader.h +// nono - programme du robot 2004. {{{ +// +// Copyright (C) 2004 Nicolas Schodet +// +// Robot APB Team/Efrei 2004. +// Web: http://assos.efrei.fr/robot/ +// Email: robot AT efrei DOT fr +// +// 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. +// +// }}} +#include "image/image_loader.h" + +#include + +/// Classe de chargement d'images crues. +class RawLoader : public ImageLoader +{ + std::string file_; + int width_, height_; + ImageLoader::ColorSpace colorSpace_; + public: + /// Constructeur. + RawLoader (const std::string &file, int width, int height, + ImageLoader::ColorSpace colorSpace); + /// Récupère la taille de l'image. + void getSize (int &width, int &height) const + { width = width_; height = height_; } + /// Récupère la taille du tampon. + int getBufSize (void) const + { return width_ * height_ * (colorSpace_ == ImageLoader::yuv422 ? 2 : 3); } + /// Récupère le format de l'image. + ImageLoader::ColorSpace getColorSpace (void) const + { return colorSpace_; } + /// Lit une image, retourne le nombre d'octets lus. + int read (void *buf, int size) const; +}; + +#endif // raw_loader_h -- cgit v1.2.3