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]; }
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; } }
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(); }
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); }