示例#1
0
文件: file.cpp 项目: Br3nda/Gource
void RFile::drawNameText(float alpha) const {

    if(!selected && alpha <= 0.01) return;

    vec3f nameCol    = getNameColour();
    float name_alpha = selected ? 1.0 : alpha;

    vec3f drawpos = screenpos;

    //drawpos.x += 10.0;
    //drawpos.y -= 10.0;

    glPushMatrix();

        glTranslatef(drawpos.x, drawpos.y, 0.0);

        //hard coded drop shadow
        glPushMatrix();
            glTranslatef(1.0, 1.0, 0.0);
            glColor4f(0.0, 0.0, 0.0, name_alpha * 0.7f);
            //glCallList(namelist);
            font.draw(0.0f, 0.0f, (selected || shortname.size()==0) ? name : shortname);
        glPopMatrix();

        //draw name
        glColor4f(nameCol.x, nameCol.y, nameCol.z, name_alpha);
        //glCallList(namelist);
        font.draw(0.0f, 0.0f, (selected || shortname.size()==0) ? name : shortname);

    glPopMatrix();
}
示例#2
0
void Pawn::drawNameText(float alpha) {

    if(alpha>0.0) {
        vec3f nameCol = getNameColour();

        glEnable(GL_TEXTURE_2D);
        glEnable(GL_BLEND);

        glColor4f(nameCol.x, nameCol.y, nameCol.z, alpha);

        float namewidth = font.getWidth(name);
        font.draw(pos.x - ((float)namewidth/2.0f), pos.y - size*1.2f, name.c_str()); // above player
    }
}
示例#3
0
void RFile::drawNameText(float alpha) {

    vec3f nameCol = getNameColour();

    if(gGourceHideFilenames) alpha = 0.0f;

    if(selected || alpha > 0.01f) {

        float name_alpha = selected ? 1.0f : alpha;

        vec3f drawpos = vec3f(pos.x, pos.y, 0.0f);

        vec3f screenpos = display.project(drawpos);

        screenpos.x += 10.0f;
        screenpos.y -= 10.0f;

        glMatrixMode(GL_PROJECTION);
            glPushMatrix();
            glLoadIdentity();
                glOrtho(0, display.width, display.height, 0, -1.0, 1.0);

         glMatrixMode(GL_MODELVIEW);
             glPushMatrix();
                glLoadIdentity();

            glTranslatef(screenpos.x, screenpos.y, 0.0f);

            //hard coded drop shadow
            glPushMatrix();
                glTranslatef(1.0f, 1.0f, 0.0f);
                glColor4f(0.0f, 0.0f, 0.0f, name_alpha * 0.7f);
                glCallList(namelist);
            glPopMatrix();

            //draw name
            glColor4f(nameCol.x, nameCol.y, nameCol.z, name_alpha);
            glCallList(namelist);

         glMatrixMode(GL_PROJECTION);
            glPopMatrix();

         glMatrixMode(GL_MODELVIEW);
            glPopMatrix();

    }
}
示例#4
0
文件: user.cpp 项目: Saur2000/Gource
void RUser::drawNameText(float alpha) {
    if(gGourceSettings.hide_users) return;

    float user_alpha = getAlpha();

    if(highlighted || selected || alpha>0.0) {
        vec3f nameCol = getNameColour();

        glEnable(GL_TEXTURE_2D);
        glEnable(GL_BLEND);

        vec3f drawpos = vec3f(pos.x, pos.y, 0.0);

        vec3f screenpos = display.project(drawpos - vec3f(0.0, 0.5 * size * (icon->h / (float) icon->w), 0.0f ));
        screenpos.x -= namewidth * 0.5;
        screenpos.y -= font.getHeight();

        glColor4f(nameCol.x, nameCol.y, nameCol.z, (selected||highlighted) ? user_alpha : alpha);

        glMatrixMode(GL_PROJECTION);
            glPushMatrix();
            glLoadIdentity();
                glOrtho(0, display.width, display.height, 0, -1.0, 1.0);

         glMatrixMode(GL_MODELVIEW);
             glPushMatrix();
                glLoadIdentity();

         font.draw(screenpos.x, screenpos.y, name); // above player

         glMatrixMode(GL_PROJECTION);
            glPopMatrix();

         glMatrixMode(GL_MODELVIEW);
            glPopMatrix();

        //font.draw(pos.x - (namewidth/(float)2.0), pos.y - (float)size*1.4, name.c_str()); // above player
    }
}