Path: blob/master/libmeteor/include/ameteor/graphics/objects.hpp
2 views
// Meteor - A Nintendo Gameboy Advance emulator1// Copyright (C) 2009-2011 Philippe Daouadi2//3// This program is free software: you can redistribute it and/or modify4// it under the terms of the GNU General Public License as published by5// the Free Software Foundation, either version 3 of the License, or6// (at your option) any later version.7//8// This program is distributed in the hope that it will be useful,9// but WITHOUT ANY WARRANTY; without even the implied warranty of10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11// GNU General Public License for more details.12//13// You should have received a copy of the GNU General Public License14// along with this program. If not, see <http://www.gnu.org/licenses/>.1516#ifndef __GRAPHICS_OBJECTS_H__17#define __GRAPHICS_OBJECTS_H__1819#include "object.hpp"20#include "ameteor/memory.hpp"21#include "ameteor/io.hpp"2223#include <vector>2425namespace AMeteor26{27namespace Graphics28{29class Objects30{31public :32Objects (Memory& memory, Io& io, uint16_t* pPalette);3334void DrawLine (uint8_t line, uint32_t* surface);35void DrawLineHighOnly (uint8_t line, uint32_t* surface);36void DrawWindow (uint8_t line, uint8_t* surface);3738void OamWrite (uint32_t begin, uint32_t end);39void OamWrite16 (uint32_t add);40void OamWrite32 (uint32_t add);4142private :43typedef std::vector<Object> Objs;4445Io& m_io;46Objs m_objs;47uint16_t* m_pOam;48};49}50}5152#endif535455