Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libmupen64plus/mupen64plus-video-rice/src/Blender.h
2 views
1
/*
2
Copyright (C) 2003 Rice1964
3
4
This program is free software; you can redistribute it and/or
5
modify it under the terms of the GNU General Public License
6
as published by the Free Software Foundation; either version 2
7
of the License, or (at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
*/
18
19
#ifndef _BLENDER_H_
20
#define _BLENDER_H_
21
22
#include "typedefs.h"
23
24
class CRender;
25
26
class CBlender
27
{
28
public:
29
virtual ~CBlender() {}
30
31
virtual void InitBlenderMode(void);
32
virtual void NormalAlphaBlender(void)=0;
33
virtual void DisableAlphaBlender(void)=0;
34
35
virtual void BlendFunc(uint32 srcFunc, uint32 desFunc)=0;
36
37
virtual void Enable()=0;
38
virtual void Disable()=0;
39
protected:
40
CBlender(CRender *pRender) : m_pRender(pRender) {}
41
CRender *m_pRender;
42
};
43
44
typedef enum _BLEND
45
{
46
BLEND_ZERO = 1,
47
BLEND_ONE = 2,
48
BLEND_SRCCOLOR = 3,
49
BLEND_INVSRCCOLOR = 4,
50
BLEND_SRCALPHA = 5,
51
BLEND_INVSRCALPHA = 6,
52
BLEND_DESTALPHA = 7,
53
BLEND_INVDESTALPHA = 8,
54
BLEND_DESTCOLOR = 9,
55
BLEND_INVDESTCOLOR = 10,
56
BLEND_SRCALPHASAT = 11,
57
BLEND_BOTHSRCALPHA = 12,
58
BLEND_BOTHINVSRCALPHA = 13,
59
BLEND_BLENDFACTOR = 14,
60
BLEND_INVBLENDFACTOR = 15,
61
BLEND_FORCE_DWORD = 0x7fffffff
62
} BLEND;
63
64
#endif
65
66
67
68
69