Exemplo n.º 1
0
CGradientEditor::CStepHandle *CGradientEditor::AddGradientStep(int x)
{
	double pos = Interpolate(x, clientRect->left, clientRect->right, 0.0, 1.0);
	unsigned int index = gradient->AddStep(pos, gradient->ColorAtPoint(pos));
	SetGradient(gradient);
	return stepHandles[index];
}
Exemplo n.º 2
0
void C_Fill::LocalFunction(short ID,long P[],_TCHAR *,C_Handler *)
{
	switch(ID)
	{
		case CFIL_SETUP:
			Setup(P[0],(short)P[1]);
			break;
		case CFIL_SETCOLOR:
			SetColor(P[0]|(P[1] << 8)|(P[2]<<16));
			break;
		case CFIL_SETGRADIENT:
			SetGradient((short)P[0],(short)P[1]);
			break;
		case CFIL_SETPERCENT:
			SetGradient((short)P[0],(short)P[0]);
			break;
		case CFIL_SETDITHER:
			SetDither((short)P[0],(short)P[1]);
			break;
	}
}
Exemplo n.º 3
0
void CLensFlareDescriptor::load(CInifile* pIni, LPCSTR sect)
{
	section		= sect;
	m_Flags.set	(flSource,pIni->r_bool(sect,"source" ));
	if (m_Flags.is(flSource)){
		LPCSTR S= pIni->r_string 	( sect,"source_shader" );
		LPCSTR T= pIni->r_string 	( sect,"source_texture" );
		float r = pIni->r_float		( sect,"source_radius" );
		BOOL i 	= pIni->r_bool		( sect,"source_ignore_color" );
		SetSource(r,i,T,S);
	}
	m_Flags.set	(flFlare,pIni->r_bool ( sect,"flares" ));
	if (m_Flags.is(flFlare)){
	    LPCSTR S= pIni->r_string 	( sect,"flare_shader" );
		LPCSTR T= pIni->r_string 	( sect,"flare_textures" );
		LPCSTR R= pIni->r_string 	( sect,"flare_radius" );
		LPCSTR O= pIni->r_string 	( sect,"flare_opacity");
		LPCSTR P= pIni->r_string 	( sect,"flare_position");
		u32 tcnt= _GetItemCount(T);
        string256 name;
		for (u32 i=0; i<tcnt; i++){
			_GetItem(R,i,name); float r=(float)atof(name);
			_GetItem(O,i,name); float o=(float)atof(name);
			_GetItem(P,i,name); float p=(float)atof(name);
			_GetItem(T,i,name);
			AddFlare(r,o,p,name,S);
		}
	}
	m_Flags.set	(flGradient,CInifile::IsBOOL(pIni->r_string( sect, "gradient")));
	if (m_Flags.is(flGradient)){
		LPCSTR S= pIni->r_string 	( sect,"gradient_shader" );
		LPCSTR T= pIni->r_string	( sect,"gradient_texture" );
		float r	= pIni->r_float		( sect,"gradient_radius"  );
		float o = pIni->r_float		( sect,"gradient_opacity" );
		SetGradient(r,o,T,S);
	}
    m_StateBlendUpSpeed	= 1.f/(_max(pIni->r_float( sect,"blend_rise_time" ),0.f)+EPS_S);
    m_StateBlendDnSpeed	= 1.f/(_max(pIni->r_float( sect,"blend_down_time" ),0.f)+EPS_S);

	OnDeviceCreate();
}
Exemplo n.º 4
0
CGradientEditor::CGradientEditor(CGradient *gradient)
{
	clientRect = NULL;
	tint = 0xFFFFFF;
	SetGradient(gradient);
	shBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_STEPHANDLE));
	shBmpMask = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_STEPHANDLE_MASK));
	shBmpColorMask = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_STEPHANDLE_COLOR_MASK));
	shBitmapDC = CreateCompatibleDC(NULL);
	SelectObject(shBitmapDC, shBitmap);

	const BYTE data[] = {
		0xEF, 0xFF, //11101111 11111111
		0xC7, 0xFF, //11000111 11111111
		0x83, 0xFF, //10000011 11111111
		0x01, 0xFF, //00000001 11111111
	};
	cellMarkerBmp = CreateBitmap(7, 4, 1, 1, data);
	cellMarkerBmpDC = CreateCompatibleDC(NULL);
	SelectObject(cellMarkerBmpDC, cellMarkerBmp);
}