• Advertisement
Sign in to follow this  

Drawing text in interface that gets clipped at the end of the interfacewindow

This topic is 1570 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone,

 

i am currently facing some issues drawing a text in my interface.

The drawing itself is working so far with the following code:

NSRect backingBounds = [self convertRectToBacking:[self bounds]];
    GLsizei backingPixelWidth  = (GLsizei)(backingBounds.size.width),
    backingPixelHeight = (GLsizei)(backingBounds.size.height);
    glViewport(0, 0, backingPixelWidth, backingPixelHeight); //set viewport to complete screen
    glClearColor(1, 1, 1, 1);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0, 0, 1);
    glBegin(GL_QUADS);  //draw simple quad half the size of the screen
    glVertex2d(-0.5, 0.5);
    glVertex2d(0.5, 0.5);
    glVertex2d(0.5, -0.5);
    glVertex2d(-0.5, -0.5);
    glEnd();
    
    glPushMatrix();
    glLoadIdentity();
    glViewport(0, 0, 100, 100); //set viewport to small part of the screen
    glColor3f(0, 1, 0);
    glBegin(GL_QUADS);  //draw next rect
    glVertex2d(-1, 1);  //just for indication of the next viewport
    glVertex2d(1, 1);   // to see where the text is drawn
    glVertex2d(1, -1);
    glVertex2d(-1, -1);
    glEnd();
    
    glColor3f(1, 0, 0);
    glOrtho(0, 100, 0, 100, -1.0, 1.0); //set the ortho for the viewport
    glRasterPos2d(10, 10);
    const char *_string = "das ist ein Test";
    void* _fonttype = GLUT_BITMAP_TIMES_ROMAN_24;
    
    if (*_string && strlen(_string)) {
        while (*_string) {
            glutBitmapCharacter(_fonttype, *_string); //draw character
            _string++;
        }
    }
    glPopMatrix();

but the text is drawn when it reaches the viewports end.

 

I want the text to be clipped when it reaches the end of the viewport or what ever possibility.

The main reason is I want to make a tableview that shows content of my game.

Some of the content is too big (like texts) and each column will be resized to fit.

But then the tableview might be too big for my interfacewindow.

So I want to implement scrolling.

So each column as it enters the window when scrolling should show its text but the text should cut of at the end

of the window and when scrolled out of the window.

For example the text is "Hallo World" and it is scrolled in the H is to be shown and the rest clipped.

When is is scrolled out of the screen the H disappears.

I hope that I described it so you can understand my issue smile.png

 

Does anyone have any ideas of how i would do that?

 

 

Thanks a lot for reading my post.

 

 

 

Share this post


Link to post
Share on other sites
Advertisement

Hi COlumbo,

 

great thanks thats exactly what I was looking for :)

 

Maybe I'll post my Interface solution when I finished it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement