• Create Account

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

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

2 replies to this topic

135
Like
0Likes
Like

Posted 02 October 2013 - 12:31 PM

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);
glVertex2d(-0.5, 0.5);
glVertex2d(0.5, 0.5);
glVertex2d(0.5, -0.5);
glVertex2d(-0.5, -0.5);
glEnd();

glPushMatrix();
glViewport(0, 0, 100, 100); //set viewport to small part of the screen
glColor3f(0, 1, 0);
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

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

Thanks a lot for reading my post.

### #2C0lumbo  Members

4072
Like
0Likes
Like

Posted 02 October 2013 - 12:42 PM

glScissor is probably the easiest way to achieve this: http://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml

135
Like
0Likes
Like

Posted 03 October 2013 - 12:32 AM

Hi COlumbo,

great thanks thats exactly what I was looking for

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

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.