Exemplo n.º 1
0
void draw_options_menu_bg(MenuData* menu) {
	draw_main_menu_bg(menu, 0, 0, 0.05, "abstract_brown", "stage1/cirnobg");

	r_mat_push();
	r_mat_scale(SCREEN_W, SCREEN_H, 1);
	r_shader_standard_notex();
	r_mat_translate(0.5,0.5,0);
	r_color(RGBA(0, 0, 0, 0.5));
	r_draw_quad();
	r_mat_pop();
	r_shader_standard();
	
	r_color4(1, 1, 1, 1);
}
Exemplo n.º 2
0
void Draw_Dxf::addArc(const DL_ArcData& data)
{
    RGBA color = RGBA(150,150,150);
    Shape* p;

    if(data.angle1 < data.angle2) {
        p = CreateArc(_painter,RGBA(255,255,255),(FLOAT)data.cx,(FLOAT)data.cy,(FLOAT)data.radius,(FLOAT)data.angle1,(FLOAT)(data.angle2-data.angle1));
        p->regen();
    }
    else {
        p = CreateArc(_painter,RGBA(255,255,255),(FLOAT)data.cx,(FLOAT)data.cy,(FLOAT)data.radius,(FLOAT)data.angle1,(FLOAT)(360+data.angle2-data.angle1));
        p->regen();
    }


    TCHAR* layerName;

    if(_isBlockOpen) _block->insert(p);
    else {
        switch(_entityType) {
        case NONE :
            for(UINT i=0; i<_layers->size(); i++) {
                layerName = _layers->at(i)->getName();
                if(0 == _tcscmp(layerName,String2TCHAR(attributes.getLayer()))) {
                    _layers->at(i)->insert(p);
                    _layers->at(i)->getLineColor(color);
                    break;
                }
            }
            break;
        }
    }

    INT32 clValue = attributes.getColor();
    if(clValue != 256) color = CL2RGBA(clValue);
    p->setLineColor(color);
}
/**
 * 从profile中读取大头像, 如果本地没有则进行下载
 *
 * \param pApp
 * \param ResponseInfoPhoto
 *
 * \return 
 */
Boolean TPhotosGetAlbumsForm::_UpdateProfilePhoto(TApplication* pApp, tResponseUsersGetInfo* ResponseInfoPhoto)
{

	if(ResponseInfoPhoto == NULL)
		return FALSE;
	
	if(ResponseInfoPhoto->nArraySize > 0)
	{
		TBitmap* pDownLoadBitmap = NULL;
		pDownLoadBitmap = LoadImgByUrl(ResponseInfoPhoto->Array[0].headurl);						
		if(pDownLoadBitmap == NULL)
		{
			RenRenAPICommon_DownloadPhoto(ResponseInfoPhoto->Array[0].headurl, this->GetWindowHwndId(), FEED_PROFILE_IMAGE_INDEX);	
		}
		else
		{
			TMaskButton* pLogo = NULL;
			pLogo = static_cast<TMaskButton*>(GetControlPtr(m_ProfileImageID));
			if(pLogo)
			{
				TRectangle rc;
				TBitmap * pProfileImageTmp = NULL;	//Profile的头像

				pLogo->GetBounds(&rc);
				
				pProfileImageTmp = TBitmap::Create(RR_HEAD_W, RR_HEAD_W, pDownLoadBitmap->GetDepth());
				pProfileImageTmp->QuickZoom(pDownLoadBitmap, TRUE, TRUE,RGBA(0,0,0,255));
				pLogo->SetCaption(TUSTR_Re_NULL,0,0);
				pLogo->SetImage(pProfileImageTmp, (rc.Width()-pProfileImageTmp->GetWidth())/2, (rc.Height()-pProfileImageTmp->GetHeight())/2);
				pLogo->Draw();

				//如果先Desroy,则会崩溃,很奇怪,原因不明,暂时这么处理
				if( pProfileImage != NULL)
				{
					pProfileImage->Destroy();
					pProfileImage = NULL; 							
				}
				pProfileImage = pProfileImageTmp;
				
			}

			//释放图片
			pDownLoadBitmap->Destroy();
			pDownLoadBitmap = NULL; 	
		}
	}

	return TRUE;
}
Exemplo n.º 4
0
void CMapEdit::Draw()
{
	if(m_nCurrentStatus == MapEdit_Status_Free)
		m_Map.Draw(m_nCurDrawMapFlag);
	else if(m_nCurrentStatus == MapEdit_Status_Select)
	{
		if(m_pTexture!=NULL)
		{
			
			m_pVideoDriver->RenderQuad(m_Map.GetBackGroundTexture(),0,0,DISPLAY_WIDTH,DISPLAY_HEIGHT,0,0,1,1,0,0xffffffff);

			m_pVideoDriver->RenderQuad(m_pTexture, m_nDisplayLeft,m_nDisplayTop,
				DISPLAY_WIDTH, DISPLAY_HEIGHT, 
				0, 0 ,1,1,0,RGBA(255,255,255,100));

		}
		
	}

	//Draw cursor
	m_pVideoDriver->RenderQuad(m_pTexture, 0, 0, CELL_SIZE, CELL_SIZE, 
		m_nCurX, m_nCurY,1,1,0,RGBA(255,255,255,100));

}
Exemplo n.º 5
0
static void Command_Help(const CommandConsoleArgs& args)
{
	if(args.m_argList.size() == 1)
	{
		_console->ShowAllRegisteredCmd();
	}
	else if(args.m_argList.size() == 2)
	{
		_console->ShowCommandDesc(args.m_argList[1].c_str());
	}
	else
	{
		_console->DrawSentence("ERROR: Wrong Arguments. Usage : <Help> <Command>.",RGBA(1.0f,0.0f,0.0f,1.0f));
	}
};
Exemplo n.º 6
0
AreaLight::AreaLight(std::ifstream &stream, Matrix4x4 transform)
{
	m_transform = transform;
    stream.read( reinterpret_cast<char *>( &m_strength), sizeof m_strength);
	stream.read( reinterpret_cast<char *>( &(m_size[0])), sizeof m_size[0]);
    stream.read( reinterpret_cast<char *>( &(m_size[1])), sizeof m_size[1]);
    //m_color = RGBA(stream);
    m_color = RGBA(1.0f);
	m_color[0] = pow(m_color[0],2.2f);
	m_color[1] = pow(m_color[1],2.2f);
	m_color[2] = pow(m_color[2],2.2f);
    m_normal = Vec3(0.0f,0.0f,1.0f);
    m_transform.multDirMatrix(m_normal, m_normal);
    m_area = m_size[0] * m_size[1];
}
Exemplo n.º 7
0
DWORD CPNGFile::GetPix(int iX, int iY)
{
	// image loaded?
	if (!pImageData) return 0;
	// return pixel value
	unsigned char *pPix=pImageData+iY*iRowSize+iX*iPixSize;
	switch (iClrType)
	{
	case PNG_COLOR_TYPE_RGB:
		return C4RGB(pPix[2], pPix[1], pPix[0]);
	case PNG_COLOR_TYPE_RGB_ALPHA:
		return RGBA(pPix[2], pPix[1], pPix[0], pPix[3]);
	}
	return 0;
}
Exemplo n.º 8
0
int
getThemeColor(Vbitmap *vbitmap)
{
  int colors[8];
  int scores[8];
  int ncolors;

  ncolors = getThemeColors(vbitmap, sizeof(colors) / sizeof(colors[0]), colors, scores);

  if (ncolors <= 0 || colors == NULL) {
    return RGBA(0, 0, 0, 0);
  }

  return colors[0];
}
void ParticleUpdateFunctions::DebrisUpdate(Emitter& emitter,Particle& particle,float deltaTime)
{
	if(particle.surviveTime == emitter.survivalTime)
	{
		float yawRadians = (rand() & MOD_MASK_1024) * 0.00628f;
		particle.velocity.x = 2.0f*cos(yawRadians);
		particle.velocity.y = 2.0f*sin(yawRadians);
		particle.color = RGBA(0.0f,0.8f,1.0f,1.0f);
	}

	Vec3f force;

	particle.position += particle.velocity * deltaTime;
	force += particle.velocity * -particle.c + Vec3f(0.0f,0.0f,-9.8f*particle.mass);

	float massOverOne = 1.0f/particle.mass;
	Vec3f acceleration = force * massOverOne;

	particle.velocity += acceleration * deltaTime;
	particle.surviveTime -= deltaTime;

	if(particle.position.z < -2.0f)
	{
		particle.velocity.z *= -0.5f;
	}

	if(particle.surviveTime < 0)
	{
		Vec3f positionDifference = emitter.maxPos - emitter.minPos;
		Vec3f randomCoefficient = Vec3f(((rand() & MOD_MASK_1024) * 0.001f),((rand() & MOD_MASK_1024) * 0.001f),((rand() & MOD_MASK_1024) * 0.001f));
		particle.position = emitter.minPos + (positionDifference * randomCoefficient);
		particle.surviveTime = emitter.survivalTime;
		particle.velocity = emitter.velocity;
		particle.color = RGBA(0.0f,0.8f,1.0f,1.0f);
	}
}
Exemplo n.º 10
0
bool tmClearAllWarning(void) {
	oslClearScreen(RGBA(0, 0, 0, 255));
	bool x = FALSE;
	while (!osl_quit) {
		oslStartDrawing();
		oslReadKeys();
		tmDrawGrid();
		oslDrawFillRect(0, 0, 480, 272, RGBA(0, 0, 0, 125));
		oslSetTextColor(RGBA(255,0,0,255));
		oslDrawString(200, 50, "WARNING:");
		oslSetTextColor(RGBA(255,255,255,255));
		oslDrawString(3, 70, "Are you sure you want to clear all grids? This cannot be undone.");
		oslDrawString(13, 80, "Press X to clear all grids, or press O to cancel.");
		if (osl_keys->pressed.cross) {
			x = TRUE;
			break;
		}
		if (osl_keys->pressed.circle)
			break;
		oslEndDrawing();
		oslSyncFrame();
	}
	return x;
}
Exemplo n.º 11
0
void ParticleUpdateFunctions::LeafUpdate(Emitter& emitter,Particle& particle,float deltaTime)
{
	Vec3f force = Vec3f(((rand() & MOD_MASK_1024) * 0.002f - 1.0f),((rand() & MOD_MASK_1024) * 0.002f - 1.0f),((rand() & MOD_MASK_1024) * 0.002f - 1.0f));
	particle.color = RGBA(1.0f,1.0f,1.0f,0.5f);
	particle.position += (particle.velocity) * deltaTime;
	force += (particle.velocity - windForce) * - particle.c;
	
	float massOverOne = 1.0f/particle.mass;
	Vec3f acceleration = force * massOverOne;

	particle.velocity += acceleration * deltaTime;
	particle.surviveTime -= deltaTime;

	if(particle.surviveTime < 0)
	{
		Vec3f positionDifference = emitter.maxPos - emitter.minPos;
		Vec3f randomCoefficient = Vec3f(((rand() & MOD_MASK_1024) * 0.001f),((rand() & MOD_MASK_1024) * 0.001f),((rand() & MOD_MASK_1024) * 0.001f));
		particle.position = emitter.minPos + (positionDifference * randomCoefficient);
		particle.surviveTime = emitter.survivalTime;
		float offset = 512.f;
		particle.velocity = Vec3f((((rand() & MOD_MASK_1024) - offset) * 0.001f),(((rand() & MOD_MASK_1024) - offset) * 0.001f),(((rand() & MOD_MASK_1024) - offset) * 0.001f)) * 50.0f + emitter.velocity;
		particle.color = RGBA(1.0f,1.0f,1.0f,0.5f);
	}
}
Exemplo n.º 12
0
GdkPixbuf *sp_cursor_pixbuf_from_xpm(char const *const *xpm, GdkColor const& black, GdkColor const& white, guint32 fill, guint32 stroke)
{
    int height = 0;
    int width = 0;
    int colors = 0;
    int pix = 0;
    std::stringstream ss (std::stringstream::in | std::stringstream::out);
    ss << xpm[0];
    ss >> height;
    ss >> width;
    ss >> colors;
    ss >> pix;
    
    std::map<char, RGBA> colorMap;

    for (int i = 0; i < colors; i++) {

        char const *p = xpm[1 + i];
        g_assert(*p >=0);
        unsigned char const ccode = (guchar) *p;

        p++;
        while (isspace(*p)) {
            p++;
        }
        p++;
        while (isspace(*p)) {
            p++;
        }

        if (strcmp(p, "None") == 0) {
            colorMap[ccode] = RGBA();
        } else if (strcmp(p, "Fill") == 0) {
            colorMap[ccode] = RGBA(SP_RGBA32_R_U(fill), SP_RGBA32_G_U(fill), SP_RGBA32_B_U(fill), SP_RGBA32_A_U(fill));
        } else if (strcmp(p, "Stroke") == 0) {
            colorMap[ccode] = RGBA(SP_RGBA32_R_U(stroke), SP_RGBA32_G_U(stroke), SP_RGBA32_B_U(stroke), SP_RGBA32_A_U(stroke));
        } else if (strcmp(p, "#000000") == 0) {
            colorMap[ccode] = RGBA(black.red, black.green, black.blue, 255);
        } else if (strcmp(p, "#FFFFFF") == 0) {
            colorMap[ccode] = RGBA(white.red, white.green, white.blue, 255);
        } else {
            colorMap[ccode] = RGBA();
        }
    }

    guint32 *pixmap_buffer = new guint32[width * height];

    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++) {
            std::map<char, RGBA>::const_iterator it = colorMap.find(xpm[1 + colors + y][x]);
            pixmap_buffer[y * width + x] = (it == colorMap.end()) ? 0u : it->second;
        }
    }

    return gdk_pixbuf_new_from_data(reinterpret_cast<guchar*>(pixmap_buffer), GDK_COLORSPACE_RGB, TRUE, 8, width, height, width * sizeof(guint32), free_cursor_data, NULL);
}
Exemplo n.º 13
0
bsglWidget::bsglWidget(int x, int y, int width, int height) {
    bsgl = bsglCreate(BSGL_VERSION);
    x_ = x;
    y_ = y;
    w_ = width;
    h_ = height;
    col_ = RGBA(255, 255, 255, 255);
    focus_ = false;
    quad_.v[0].z = 0.f;
    quad_.v[1].z = 0.f;
    quad_.v[2].z = 0.f;
    quad_.v[3].z = 0.f;
    quad_.tex = 0;
    quad_.blend = BLEND_DEFAULT;
}
Exemplo n.º 14
0
	// Reload The Sprite
	PyObject* Python::B2D_ReloadSprite (PyObject* Self, PyObject* Args){

		// Create Variables
		int spriteReference; float x, y; int width, height; char* texturePath, *colour = "FFFFFFFF";

		// Look For Errors
    	if (!PyArg_ParseTuple (Args, "ffiis|s", &spriteReference, &x, &y, &width, &height, &texturePath, &colour)){
    		ParsePyTupleError (__func__, __LINE__);
    	}

		RGBA rgba = RGBA (colour);

		// Set Function
		Python::spriteList[spriteReference].Reload (Vector2::Point (x, y), width, height, texturePath, rgba);
		Py_RETURN_NONE;
	}
Exemplo n.º 15
0
void DeveloperConsole::Draw()
{
	m_widthTable.clear();
	OpenGLRenderer::BindWhiteTexture();
	OpenGLRenderer::DrawVertexWithVertexArray2D(m_backgroundLayer,8,OpenGLRenderer::SHAPE_QUADS,m_screenSizes.x,m_screenSizes.y);
	
	for(size_t index = 1; index < m_logLines.size(); index++)
	{
		size_t LogStartLine = m_logLines.size() - index - m_currentStartDrawingLineNum;
		if(LogStartLine != 0)
			DrawSentence(m_logLines[index].text.c_str(),m_logLines.size() - index - m_currentStartDrawingLineNum,m_logLines[index].fontSize,m_logLines[index].color,m_logLines[index].font);
	}
	
	DrawSentence(m_logLines[0].text.c_str(),0,m_logLines[0].fontSize,RGBA(),m_logLines[0].font);
	DrawCursor();
}
Exemplo n.º 16
0
void MainMenuState::Render() const {
	g_theRenderer->ClearScreen(0.f, 0.f, 0.f);

	AABB2 quad = AABB2(Vector2(0.f, 0.f), Vector2(1600.f, 900.f));
	g_theRenderer->DrawTexturedAABB2(m_screenImage, RGBA::WHITE, quad);

	float frequency = 1; // Frequency in Hz
	float opacity =  0.5f * (1 + sin(2.f * pi * frequency * m_age));

	//float opacity = 0.5f * sin(m_age * 4.f) + 1.f;
	//opacity = ClampFloat(opacity, 0.f, 1.f);

	String enterText = StringUtils::Stringf("PRESS ENTER");

	m_squirrelFont->DrawText2D(Vector2(470.f, 100.f), enterText, 60.f, RGBA(1.f, 1.f, 1.f, opacity), NULL);
}
Exemplo n.º 17
0
void WarningScreen::draw()
{
	oslDrawImageXY(mCover,0,0);
	oslIntraFontSetStyle(gFont, 1.2f,RGBA(175,137,62,255), RGBA(0,0,0,0),INTRAFONT_ALIGN_CENTER);
	oslDrawString(240,20,Resource::STR_WARNING_CAPTION);
	oslIntraFontSetStyle(gFont, 0.6f,RGBA(175,137,62,255), RGBA(0,0,0,0),INTRAFONT_ALIGN_CENTER);
	oslDrawString(240,100,Resource::STR_WARNING_TEXT);
	oslDrawImageXY(mBack, (430) - (mBack->stretchX), (272) - (mBack->stretchY));
	oslIntraFontSetStyle(gFont, 0.7f,RGBA(175,137,62,255), RGBA(0,0,0,0),INTRAFONT_ALIGN_CENTER);
	oslDrawString((510) - mBack->stretchX,(272) - (mBack->stretchY/2),Resource::STR_BACK_SK);
}
//update particle with;
//The time since the last update
void Particle::update(float dt) {

	//trick to make it that the first update of the particle saves starting values
	if (Age == 0) {
		
		_startColour = Colour;
		_startScale = Scale;
	}

	Age += dt;

	Scale = _startScale + (EndScale - _startScale) * (Age / MaxAge);

	Position = Position + (MoveVector * dt);

	Colour = RGBA(_startColour, EndColour, (Age / MaxAge));
}
Exemplo n.º 19
0
/*
  call-seq: setColor(r, g, b, a = 255)
            setColor(col)

  Sets the sahpe's color. If it has more than one color, all are set to the
  same value.
*/
VALUE Shape_setColor(int argc, VALUE *argv, VALUE self)
{
   Shape &ref = getRef<Shape>(self);
   OSL_COLOR _col = 0;
   if (argc >= 3)
   {
      int alpha = 255;
      if (argc > 3)
	 alpha = FIX2INT(argv[3]);
      _col = RGBA(FIX2INT(argv[0]), FIX2INT(argv[1]), FIX2INT(argv[2]), alpha);
   }
   else if (argc == 1)
      _col = hash2col(argv[0]);

   ref.setColor(_col);
   return Qnil;
}
Exemplo n.º 20
0
void grlib_DrawIRCursor (void)
	{
	ir_t ir;
	static u8 alphadec = 255;
	static s16 alpha = 0; // Start with cursor hidden
	static u32 cursorActivity = 0;
	
	static u32 startms = 0;
	u32 ms = ticks_to_millisecs(gettime());
	
	WPAD_IR (0, &ir);
	
	if (ms > startms)
		{
		if (cursorActivity == grlibSettings.cursorActivity)
			{
			alpha -= alphadec;
			if (alpha < 0) alpha = 0;
			}
		else
			{
			alpha = 255;
			alphadec = 5;
			cursorActivity = grlibSettings.cursorActivity;
			}
		
		startms = ms+100;
		}
	
	if (ir.valid)
		{
		grlib_irPos.x = ir.x;
		grlib_irPos.y = ir.y;
		grlib_irPos.valid = 1;
		alpha = 255;
		}
	else
		{
		grlib_irPos.valid = 0;
		}

	GRRLIB_DrawImg( grlib_irPos.x, 
					grlib_irPos.y, 
					grlibSettings.pointer[0], 0, 1, 1, RGBA(255, 255, 255, alpha) ); 
	}
Exemplo n.º 21
0
NTBVertex3D_PCT* Fonts::CreateNTBVertsFromStringVector(Vector3 startPos, std::vector<std::string>& currentStringVec, float scale, RGBA& color, int& size)
{
	size = 0;
	std::vector<NTBVertex3D_PCT> verts;
	RGBA fadeColor = RGBA(color.GetRed(), color.GetGreen(), color.GetBlue(), fadeScale);
	for (int k = (int)currentStringVec.size() - 1; k >= 0; k--)
	{
		size_t wordsLength = currentStringVec[k].length();

		float startPosX = startPos.x;
		float startPosY = startPos.y;
		float yOffsetFloat = 0.0f;
		m_curserPos.x = startPosX;
		for (size_t i = 0; i < wordsLength; i++)
		{
			for (unsigned int j = 0; j < m_characters.size(); j++)
			{
				if (m_characters[j].m_ID != currentStringVec[k][i])
				{
					continue;
				}
				Vector2 mins(startPosX + scale*m_characters[j].m_OffsetXY.x, startPosY - scale*(m_characters[j].m_OffsetXY.y + m_characters[j].m_GLYPHWH.y));
				Vector2 maxs(startPosX + scale*(m_characters[j].m_OffsetXY.x + m_characters[j].m_GLYPHWH.x), startPosY - scale*(m_characters[j].m_OffsetXY.y));
				mins += Vector2(0.0f, m_scale * (currentStringVec.size() - k - 1));
				maxs += Vector2(0.0f, m_scale * (currentStringVec.size() - k - 1));
				verts.push_back(NTBVertex3D_PCT(Vector3(mins.x, maxs.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
				verts.push_back(NTBVertex3D_PCT(Vector3(mins.x, mins.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
				verts.push_back(NTBVertex3D_PCT(Vector3(maxs.x, mins.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
								
				verts.push_back(NTBVertex3D_PCT(Vector3(mins.x, maxs.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
				verts.push_back(NTBVertex3D_PCT(Vector3(maxs.x, mins.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
				verts.push_back(NTBVertex3D_PCT(Vector3(maxs.x, maxs.y - yOffsetFloat, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), Vector3(0.0F, 0.0F, 0.0F), fadeColor));
				startPosX += scale*m_characters[j].m_XAdvance;

				break;
			}

		}
		yOffsetFloat += 0.0f;
	}
	NTBVertex3D_PCT* passOutVerts = new NTBVertex3D_PCT[verts.size()];
	memcpy(passOutVerts, verts.data(), verts.size()*sizeof(NTBVertex3D_PCT));
	size = verts.size();
	return passOutVerts;
}
Exemplo n.º 22
0
RGBA  CEdit::CalcColour(int nLumina,RGBA chroma)
{
    int r,g,b;
    
    r=chroma.r;
    g=chroma.g;
    b=chroma.b;
    
    r=r*nLumina/128;
    g=g*nLumina/128;
    b=b*nLumina/128;
    
    if (r>255) r=255;
    if (g>255) g=255;
    if (b>255) b=255;
    
    return RGBA(r,g,b,chroma.a);
}
Exemplo n.º 23
0
VOID 	ViewStrip::DrawAxis()
{
	INT32 dist = 10;
    FLOAT signX = 1;
    FLOAT signY = 1;

    _pStripPainter->drawBegin();
    _pStripPainter->setOutlineColor(RGBA(200, 100, 50, 200));
    _pStripPainter->drawLine(500, 0, -500, 0);
    _pStripPainter->drawLine(0, 500, 0, -500);

    _pStripPainter->drawBitmapText(   signX *  _fdevice_size_x/2 + (signX * signX *dist), 0, _T("X+"));
    _pStripPainter->drawBitmapText(0, signY *  _fdevice_size_y/2 + (signY * signY *dist),    _T("Y+"));
    _pStripPainter->drawBitmapText(   signX * -_fdevice_size_x/2 - (signX * signX *dist), 0, _T("X-"));
    _pStripPainter->drawBitmapText(0, signY * -_fdevice_size_y/2 - (signY * signY *dist),    _T("Y-"));

    _pStripPainter->drawEnd();
}
Exemplo n.º 24
0
Vertex3D_PCT* Fonts::CreateConsoleCharactersVerts(Vector3 startPos, float scale, RGBA& color, int& size)
{
	size = 0;
	std::vector<Vertex3D_PCT> verts;
	RGBA fadeColor = RGBA(color.GetRed(), color.GetGreen(), color.GetBlue(), fadeScale);
	for (int k = (int)m_log.size()-1; k >= 0; k--)
	{
		size_t wordsLength = m_log[k].length();
		
		float startPosX = startPos.x;
		float startPosY = startPos.y;
		m_curserPos.x = startPosX;
		for (size_t i = 0; i < wordsLength; i++)
		{
			for (unsigned int j = 0; j < m_characters.size(); j++)
			{
				if (m_characters[j].m_ID != m_log[k][i])
				{
					continue;
				}
				Vector2 mins(startPosX + scale*m_characters[j].m_OffsetXY.x, startPosY - scale*(m_characters[j].m_OffsetXY.y + m_characters[j].m_GLYPHWH.y));
				Vector2 maxs(startPosX + scale*(m_characters[j].m_OffsetXY.x + m_characters[j].m_GLYPHWH.x), startPosY - scale*(m_characters[j].m_OffsetXY.y));
				mins += Vector2(0.0f, m_scale * (m_log.size() - k - 1));
				maxs += Vector2(0.0f, m_scale * (m_log.size() - k - 1));
				verts.push_back(Vertex3D_PCT(Vector3(mins.x, maxs.y, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y), fadeColor));
				verts.push_back(Vertex3D_PCT(Vector3(mins.x, mins.y, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), fadeColor));
				verts.push_back(Vertex3D_PCT(Vector3(maxs.x, mins.y, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), fadeColor));
					 
				verts.push_back(Vertex3D_PCT(Vector3(mins.x, maxs.y, startPos.z), Vector2(m_characters[j].m_XY.x, m_characters[j].m_XY.y), fadeColor));
				verts.push_back(Vertex3D_PCT(Vector3(maxs.x, mins.y, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y + m_characters[j].m_WH.y), fadeColor));
				verts.push_back(Vertex3D_PCT(Vector3(maxs.x, maxs.y, startPos.z), Vector2(m_characters[j].m_XY.x + m_characters[j].m_WH.x, m_characters[j].m_XY.y), fadeColor));
				startPosX += scale*m_characters[j].m_XAdvance;
				
				break;
			}
			
		}
	}
	Vertex3D_PCT* passOutVerts = new Vertex3D_PCT[verts.size()];
	memcpy(passOutVerts,verts.data(),verts.size()*sizeof(Vertex3D_PCT));
	size = verts.size();
	return passOutVerts;
}
Exemplo n.º 25
0
Arquivo: main.c Projeto: drewet/libge
void anim(){
	ge_Image* img = geLoadImage("testsrc/data/ship.png");
	img = geAnimateImage(img, 4, 0.125f);

	ge_Font* font = geLoadFont("");
	geFontSize(font, 14);

	ge_Joystick* js = geJoystickOpen(geJoystickUpdateList(NULL));

	while(1){
		geJoystickRead(js);
		geJoystickDebugPrint(js, 0);

		geClearScreen();
		geDrawImage(100, 100, img);
		geFontPrintfScreen(0, 0, font, RGBA(255, 255, 255, 255), "FPS : %d", geFps());
		geSwapBuffers();
	}
}
Exemplo n.º 26
0
VOID	ViewUnitEditor::DrawAxis()
{
	INT32 dist = 2;
	FLOAT signX = 1;
	FLOAT signY = 1;

	_pViewUnitPainter->drawBegin();
	_pViewUnitPainter->setLineColor(RGBA(200, 100, 50, 200));

	_pViewUnitPainter->drawLine(500,	  0,	-500,	   0);
	_pViewUnitPainter->drawLine(  0,	500,	   0,	-500);

	_pViewUnitPainter->drawBitmapText((_pStripinfo->GetUnitXSize()) + dist, 0, _T("X+"));
	_pViewUnitPainter->drawBitmapText(0, (_pStripinfo->GetUnitYSize()) + dist, _T("Y+"));
	_pViewUnitPainter->drawBitmapText(-(_pStripinfo->GetUnitXSize()) - dist, 0, _T("X-"));
	_pViewUnitPainter->drawBitmapText(0, -(_pStripinfo->GetUnitYSize()) - dist, _T("Y-"));

	_pViewUnitPainter->drawEnd();
}
Exemplo n.º 27
0
void ViewEx::onRender()
{
	_pPainter->renderBegin(RGBA(200,200,200));

    // draw x, y   axis
	_pPainter->drawBegin();
        _pPainter->drawLine(-500,0,500,0);
        _pPainter->drawLine(0,500,0,-500);
    _pPainter->drawEnd();


	// draw shapes
	_layers.draw();

    this->onSelectionRect();
            
    _pPainter->renderEnd();

}
Exemplo n.º 28
0
void Draw_Dxf::addBlock(const DL_BlockData& data)
{
    assert(_isBlockOpen == false && "블록이 열려있는데 또 addblock");

    RGBA color = RGBA(150,150,150);
    Block* p;

    _isBlockOpen = true;

    TCHAR* lpszBlockName = String2TCHAR(data.name);
    p = CreateBlock(_painter, lpszBlockName, data.flags, (FLOAT)data.bpx, (FLOAT)data.bpy);

    _block = p;

    INT32 clValue = attributes.getColor();
    if(clValue != 256) color = CL2RGBA(clValue);
    p->setLineColor(color);

}
Exemplo n.º 29
0
void game_init ()
{
    int i, j, i2;
    targa_image_t tga;
    uint32_t c, r, g, b, a;
    GFile *fp = g_file_new_for_path("tower.tga");
    GFileInputStream *fis = g_file_read(fp, NULL, NULL);
    targa_parse_stream(G_INPUT_STREAM(fis),&tga);

    /* set background zero to this bitmap */
    e.main_bg[0].enable = 1;
    e.main_bg[0].mode = BG_MODE_INDEXED_BITMAP;
    e.main_bg[0].priority = 0;
    e.main_bg[0].center_x = 0.0;
    e.main_bg[0].center_y = 0.0;
    e.main_bg[0].center_i = 0;
    e.main_bg[0].center_j = 0;
    e.main_bg[0].expansion = 1.0;
    e.main_bg[0].rotation = 0.0;
    e.main_bg[0].bmp8.height_in_pixels = tga.header.image_height;
    e.main_bg[0].bmp8.width_in_pixels = tga.header.image_width;
    for (j = 0; j < tga.header.image_height; j++)
    {
        for (i = 0; i < tga.header.image_width; i++)
        {
        	e.main_bg[0].bmp8.bmp[j][i] = tga.data.image_data[j * tga.header.image_width + i];
        }
    }
    i = 0;
    for (c = 0; c < tga.header.color_map_length; c++)
    {
        if (tga.header.color_map_entry_size == 24 || tga.header.color_map_entry_size == 32)
        {
            r = tga.data.color_map_data[i++];
            g = tga.data.color_map_data[i++];
            b = tga.data.color_map_data[i++];
            a = 255;
        }
        if (tga.header.color_map_entry_size == 32)
            a = tga.data.color_map_data[i++];
        e.main_bg[0].bmp8.palette[c] = RGBA(r,g,b,a);
    }
}
Exemplo n.º 30
0
void TheGame::Render() const
{
	m_map->Render();
	if (m_isPaused)
	{
		Vector2 screenMins = Vector2(0.f, 0.f);
		Vector2 screenMaxs = Vector2(TheApp::instance->GetWindowWidth(), TheApp::instance->GetWindowHeight());
		Vector2 gameMaxs = Vector2(16.f, 9.f);
		Vector2 pauseGraphicMins = Vector2(TheApp::instance->GetWindowWidth() / 8.f, TheApp::instance->GetWindowHeight() / 8.f);
		Vector2 pauseGraphicMaxs = Vector2(TheApp::instance->GetWindowWidth() * (7.f / 8.f), TheApp::instance->GetWindowHeight() * (7.f / 8.f));
		RGBA pauseColor = RGBA(0.0f, 0.0f, 0.0f, 0.3f);

		TheRenderer::instance->PushMatrix();
		TheRenderer::instance->DrawAABB(AABB2(screenMins, screenMaxs), pauseColor);
		TheRenderer::instance->SetOrtho(screenMins, screenMaxs);
		TheRenderer::instance->DrawTexturedAABB(AABB2(pauseGraphicMins, pauseGraphicMaxs), Vector2(0.f, 0.f), Vector2(1.f, 1.f), *m_pauseTexture, RGBA(1.f, 1.f, 1.f));
		TheRenderer::instance->SetOrtho(screenMins, gameMaxs);
		TheRenderer::instance->PopMatrix();
	}
}