Path: blob/master/libmupen64plus/mupen64plus-video-rice/src/ExtendedRender.h
2 views
/*1Copyright (C) 2003 Rice196423This program is free software; you can redistribute it and/or4modify it under the terms of the GNU General Public License5as published by the Free Software Foundation; either version 26of the License, or (at your option) any later version.78This program is distributed in the hope that it will be useful,9but WITHOUT ANY WARRANTY; without even the implied warranty of10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the11GNU General Public License for more details.1213You should have received a copy of the GNU General Public License14along with this program; if not, write to the Free Software15Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.16*/1718#ifndef _EXTENDED_RENDER_H_19#define _EXTENDED_RENDER_H_2021#include "RSP_Parser.h"22#include "RSP_S2DEX.h"2324// Define the render extension interface and provide empty implementation of25// the render extension functions.26// Real render can either implement or not implement these extended render functions2728// These extended render functions are in different groups:29// - Group #1: Related to frame buffer30// - Group #2: Related to 2D sprite31// - Group #3: Related BG and ScaledBG32class CExtendedRender33{34public:35virtual ~CExtendedRender() {}3637virtual void DrawFrameBuffer(bool useVIreg=false, uint32 left=0, uint32 top=0, uint32 width=0, uint32 height=0) {};38virtual void LoadFrameBuffer(bool useVIreg=false, uint32 left=0, uint32 top=0, uint32 width=0, uint32 height=0) {};39virtual void LoadTxtrBufFromRDRAM(void) {};40virtual void LoadTxtrBufIntoTexture(void) {};4142virtual void DrawSprite2D(Sprite2DInfo &info, uint32 ucode) {};43virtual void LoadSprite2D(Sprite2DInfo &info, uint32 ucode) {};444546virtual void DrawSprite(uObjTxSprite &sprite, bool rectR = true) {};47virtual void DrawObjBG1CYC(uObjScaleBg &bg, bool scaled=true) {};48virtual void DrawObjBGCopy(uObjBg &info) {};49virtual void LoadObjBGCopy(uObjBg &info) {};50virtual void LoadObjBG1CYC(uObjScaleBg &info) {};51virtual void LoadObjSprite(uObjTxSprite &info, bool useTIAddr=false) {};5253virtual void DrawText(const char* str, RECT *rect) {};54};555657#endif58596061