aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llui/llui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llui/llui.cpp')
-rw-r--r--linden/indra/llui/llui.cpp88
1 files changed, 44 insertions, 44 deletions
diff --git a/linden/indra/llui/llui.cpp b/linden/indra/llui/llui.cpp
index 734aecf..5502246 100644
--- a/linden/indra/llui/llui.cpp
+++ b/linden/indra/llui/llui.cpp
@@ -143,11 +143,11 @@ void gl_state_for_2d(S32 width, S32 height)
143 143
144void gl_draw_x(const LLRect& rect, const LLColor4& color) 144void gl_draw_x(const LLRect& rect, const LLColor4& color)
145{ 145{
146 LLGLSNoTexture no_texture; 146 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
147 147
148 gGL.color4fv( color.mV ); 148 gGL.color4fv( color.mV );
149 149
150 gGL.begin( LLVertexBuffer::LINES ); 150 gGL.begin( LLRender::LINES );
151 gGL.vertex2i( rect.mLeft, rect.mTop ); 151 gGL.vertex2i( rect.mLeft, rect.mTop );
152 gGL.vertex2i( rect.mRight, rect.mBottom ); 152 gGL.vertex2i( rect.mRight, rect.mBottom );
153 gGL.vertex2i( rect.mLeft, rect.mBottom ); 153 gGL.vertex2i( rect.mLeft, rect.mBottom );
@@ -183,12 +183,12 @@ void gl_rect_2d_offset_local( S32 left, S32 top, S32 right, S32 bottom, S32 pixe
183void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled ) 183void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )
184{ 184{
185 stop_glerror(); 185 stop_glerror();
186 LLGLSNoTexture no_texture; 186 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
187 187
188 // Counterclockwise quad will face the viewer 188 // Counterclockwise quad will face the viewer
189 if( filled ) 189 if( filled )
190 { 190 {
191 gGL.begin( LLVertexBuffer::QUADS ); 191 gGL.begin( LLRender::QUADS );
192 gGL.vertex2i(left, top); 192 gGL.vertex2i(left, top);
193 gGL.vertex2i(left, bottom); 193 gGL.vertex2i(left, bottom);
194 gGL.vertex2i(right, bottom); 194 gGL.vertex2i(right, bottom);
@@ -200,7 +200,7 @@ void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )
200 if( gGLManager.mATIOffsetVerticalLines ) 200 if( gGLManager.mATIOffsetVerticalLines )
201 { 201 {
202 // Work around bug in ATI driver: vertical lines are offset by (-1,-1) 202 // Work around bug in ATI driver: vertical lines are offset by (-1,-1)
203 gGL.begin( LLVertexBuffer::LINES ); 203 gGL.begin( LLRender::LINES );
204 204
205 // Verticals 205 // Verticals
206 gGL.vertex2i(left + 1, top); 206 gGL.vertex2i(left + 1, top);
@@ -223,7 +223,7 @@ void gl_rect_2d(S32 left, S32 top, S32 right, S32 bottom, BOOL filled )
223 { 223 {
224 top--; 224 top--;
225 right--; 225 right--;
226 gGL.begin( LLVertexBuffer::LINE_STRIP ); 226 gGL.begin( LLRender::LINE_STRIP );
227 gGL.vertex2i(left, top); 227 gGL.vertex2i(left, top);
228 gGL.vertex2i(left, bottom); 228 gGL.vertex2i(left, bottom);
229 gGL.vertex2i(right, bottom); 229 gGL.vertex2i(right, bottom);
@@ -254,7 +254,7 @@ void gl_rect_2d( const LLRect& rect, const LLColor4& color, BOOL filled )
254void gl_drop_shadow(S32 left, S32 top, S32 right, S32 bottom, const LLColor4 &start_color, S32 lines) 254void gl_drop_shadow(S32 left, S32 top, S32 right, S32 bottom, const LLColor4 &start_color, S32 lines)
255{ 255{
256 stop_glerror(); 256 stop_glerror();
257 LLGLSNoTexture no_texture; 257 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
258 258
259 // HACK: Overlap with the rectangle by a single pixel. 259 // HACK: Overlap with the rectangle by a single pixel.
260 right--; 260 right--;
@@ -264,7 +264,7 @@ void gl_drop_shadow(S32 left, S32 top, S32 right, S32 bottom, const LLColor4 &st
264 LLColor4 end_color = start_color; 264 LLColor4 end_color = start_color;
265 end_color.mV[VALPHA] = 0.f; 265 end_color.mV[VALPHA] = 0.f;
266 266
267 gGL.begin(LLVertexBuffer::QUADS); 267 gGL.begin(LLRender::QUADS);
268 268
269 // Right edge, CCW faces screen 269 // Right edge, CCW faces screen
270 gGL.color4fv(start_color.mV); 270 gGL.color4fv(start_color.mV);
@@ -324,9 +324,9 @@ void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2 )
324 y2++; 324 y2++;
325 } 325 }
326 326
327 LLGLSNoTexture no_texture; 327 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
328 328
329 gGL.begin(LLVertexBuffer::LINES); 329 gGL.begin(LLRender::LINES);
330 gGL.vertex2i(x1, y1); 330 gGL.vertex2i(x1, y1);
331 gGL.vertex2i(x2, y2); 331 gGL.vertex2i(x2, y2);
332 gGL.end(); 332 gGL.end();
@@ -343,11 +343,11 @@ void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2, const LLColor4 &color )
343 y2++; 343 y2++;
344 } 344 }
345 345
346 LLGLSNoTexture no_texture; 346 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
347 347
348 gGL.color4fv( color.mV ); 348 gGL.color4fv( color.mV );
349 349
350 gGL.begin(LLVertexBuffer::LINES); 350 gGL.begin(LLRender::LINES);
351 gGL.vertex2i(x1, y1); 351 gGL.vertex2i(x1, y1);
352 gGL.vertex2i(x2, y2); 352 gGL.vertex2i(x2, y2);
353 gGL.end(); 353 gGL.end();
@@ -355,17 +355,17 @@ void gl_line_2d(S32 x1, S32 y1, S32 x2, S32 y2, const LLColor4 &color )
355 355
356void gl_triangle_2d(S32 x1, S32 y1, S32 x2, S32 y2, S32 x3, S32 y3, const LLColor4& color, BOOL filled) 356void gl_triangle_2d(S32 x1, S32 y1, S32 x2, S32 y2, S32 x3, S32 y3, const LLColor4& color, BOOL filled)
357{ 357{
358 LLGLSNoTexture no_texture; 358 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
359 359
360 gGL.color4fv(color.mV); 360 gGL.color4fv(color.mV);
361 361
362 if (filled) 362 if (filled)
363 { 363 {
364 gGL.begin(LLVertexBuffer::TRIANGLES); 364 gGL.begin(LLRender::TRIANGLES);
365 } 365 }
366 else 366 else
367 { 367 {
368 gGL.begin(LLVertexBuffer::LINE_LOOP); 368 gGL.begin(LLRender::LINE_LOOP);
369 } 369 }
370 gGL.vertex2i(x1, y1); 370 gGL.vertex2i(x1, y1);
371 gGL.vertex2i(x2, y2); 371 gGL.vertex2i(x2, y2);
@@ -375,11 +375,11 @@ void gl_triangle_2d(S32 x1, S32 y1, S32 x2, S32 y2, S32 x3, S32 y3, const LLColo
375 375
376void gl_corners_2d(S32 left, S32 top, S32 right, S32 bottom, S32 length, F32 max_frac) 376void gl_corners_2d(S32 left, S32 top, S32 right, S32 bottom, S32 length, F32 max_frac)
377{ 377{
378 LLGLSNoTexture no_texture; 378 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
379 379
380 length = llmin((S32)(max_frac*(right - left)), length); 380 length = llmin((S32)(max_frac*(right - left)), length);
381 length = llmin((S32)(max_frac*(top - bottom)), length); 381 length = llmin((S32)(max_frac*(top - bottom)), length);
382 gGL.begin(LLVertexBuffer::LINES); 382 gGL.begin(LLRender::LINES);
383 gGL.vertex2i(left, top); 383 gGL.vertex2i(left, top);
384 gGL.vertex2i(left + length, top); 384 gGL.vertex2i(left + length, top);
385 385
@@ -496,11 +496,11 @@ void gl_draw_scaled_image_with_border(S32 x, S32 y, S32 width, S32 height, LLIma
496 { 496 {
497 gGL.translatef((F32)x, (F32)y, 0.f); 497 gGL.translatef((F32)x, (F32)y, 0.f);
498 498
499 image->bind(); 499 gGL.getTexUnit(0)->bind(image);
500 500
501 gGL.color4fv(color.mV); 501 gGL.color4fv(color.mV);
502 502
503 gGL.begin(LLVertexBuffer::QUADS); 503 gGL.begin(LLRender::QUADS);
504 { 504 {
505 // draw bottom left 505 // draw bottom left
506 gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom); 506 gGL.texCoord2f(uv_rect.mLeft, uv_rect.mBottom);
@@ -656,11 +656,11 @@ void gl_draw_scaled_rotated_image(S32 x, S32 y, S32 width, S32 height, F32 degre
656 gGL.translatef( -offset_x, -offset_y, 0.f ); 656 gGL.translatef( -offset_x, -offset_y, 0.f );
657 } 657 }
658 658
659 image->bind(); 659 gGL.getTexUnit(0)->bind(image);
660 660
661 gGL.color4fv(color.mV); 661 gGL.color4fv(color.mV);
662 662
663 gGL.begin(LLVertexBuffer::QUADS); 663 gGL.begin(LLRender::QUADS);
664 { 664 {
665 gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop); 665 gGL.texCoord2f(uv_rect.mRight, uv_rect.mTop);
666 gGL.vertex2i(width, height ); 666 gGL.vertex2i(width, height );
@@ -694,11 +694,11 @@ void gl_draw_scaled_image_inverted(S32 x, S32 y, S32 width, S32 height, LLImageG
694 { 694 {
695 gGL.translatef((F32)x, (F32)y, 0.f); 695 gGL.translatef((F32)x, (F32)y, 0.f);
696 696
697 image->bind(); 697 gGL.getTexUnit(0)->bind(image);
698 698
699 gGL.color4fv(color.mV); 699 gGL.color4fv(color.mV);
700 700
701 gGL.begin(LLVertexBuffer::QUADS); 701 gGL.begin(LLRender::QUADS);
702 { 702 {
703 gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom); 703 gGL.texCoord2f(uv_rect.mRight, uv_rect.mBottom);
704 gGL.vertex2i(width, height ); 704 gGL.vertex2i(width, height );
@@ -733,7 +733,7 @@ void gl_stippled_line_3d( const LLVector3& start, const LLVector3& end, const LL
733 glLineWidth(2.5f); 733 glLineWidth(2.5f);
734 glLineStipple(2, 0x3333 << shift); 734 glLineStipple(2, 0x3333 << shift);
735 735
736 gGL.begin(LLVertexBuffer::LINES); 736 gGL.begin(LLRender::LINES);
737 { 737 {
738 gGL.vertex3fv( start.mV ); 738 gGL.vertex3fv( start.mV );
739 gGL.vertex3fv( end.mV ); 739 gGL.vertex3fv( end.mV );
@@ -750,7 +750,7 @@ void gl_rect_2d_xor(S32 left, S32 top, S32 right, S32 bottom)
750 glLogicOp( GL_XOR ); 750 glLogicOp( GL_XOR );
751 stop_glerror(); 751 stop_glerror();
752 752
753 gGL.begin(LLVertexBuffer::QUADS); 753 gGL.begin(LLRender::QUADS);
754 gGL.vertex2i(left, top); 754 gGL.vertex2i(left, top);
755 gGL.vertex2i(left, bottom); 755 gGL.vertex2i(left, bottom);
756 gGL.vertex2i(right, bottom); 756 gGL.vertex2i(right, bottom);
@@ -782,14 +782,14 @@ void gl_arc_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled, F
782 782
783 if (filled) 783 if (filled)
784 { 784 {
785 gGL.begin(LLVertexBuffer::TRIANGLE_FAN); 785 gGL.begin(LLRender::TRIANGLE_FAN);
786 gGL.vertex2f(0.f, 0.f); 786 gGL.vertex2f(0.f, 0.f);
787 // make sure circle is complete 787 // make sure circle is complete
788 steps += 1; 788 steps += 1;
789 } 789 }
790 else 790 else
791 { 791 {
792 gGL.begin(LLVertexBuffer::LINE_STRIP); 792 gGL.begin(LLRender::LINE_STRIP);
793 } 793 }
794 794
795 while( steps-- ) 795 while( steps-- )
@@ -809,7 +809,7 @@ void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled
809{ 809{
810 gGL.pushMatrix(); 810 gGL.pushMatrix();
811 { 811 {
812 LLGLSNoTexture gls_no_texture; 812 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
813 gGL.translatef(center_x, center_y, 0.f); 813 gGL.translatef(center_x, center_y, 0.f);
814 814
815 // Inexact, but reasonably fast. 815 // Inexact, but reasonably fast.
@@ -821,14 +821,14 @@ void gl_circle_2d(F32 center_x, F32 center_y, F32 radius, S32 steps, BOOL filled
821 821
822 if (filled) 822 if (filled)
823 { 823 {
824 gGL.begin(LLVertexBuffer::TRIANGLE_FAN); 824 gGL.begin(LLRender::TRIANGLE_FAN);
825 gGL.vertex2f(0.f, 0.f); 825 gGL.vertex2f(0.f, 0.f);
826 // make sure circle is complete 826 // make sure circle is complete
827 steps += 1; 827 steps += 1;
828 } 828 }
829 else 829 else
830 { 830 {
831 gGL.begin(LLVertexBuffer::LINE_LOOP); 831 gGL.begin(LLRender::LINE_LOOP);
832 } 832 }
833 833
834 while( steps-- ) 834 while( steps-- )
@@ -850,7 +850,7 @@ void gl_deep_circle( F32 radius, F32 depth, S32 steps )
850 F32 x = radius; 850 F32 x = radius;
851 F32 y = 0.f; 851 F32 y = 0.f;
852 F32 angle_delta = F_TWO_PI / (F32)steps; 852 F32 angle_delta = F_TWO_PI / (F32)steps;
853 gGL.begin( LLVertexBuffer::TRIANGLE_STRIP ); 853 gGL.begin( LLRender::TRIANGLE_STRIP );
854 { 854 {
855 S32 step = steps + 1; // An extra step to close the circle. 855 S32 step = steps + 1; // An extra step to close the circle.
856 while( step-- ) 856 while( step-- )
@@ -905,7 +905,7 @@ void gl_rect_2d_checkerboard(const LLRect& rect)
905 first = FALSE; 905 first = FALSE;
906 } 906 }
907 907
908 LLGLSNoTexture gls_no_texture; 908 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
909 909
910 // ...white squares 910 // ...white squares
911 gGL.color3f( 1.f, 1.f, 1.f ); 911 gGL.color3f( 1.f, 1.f, 1.f );
@@ -935,9 +935,9 @@ void gl_washer_2d(F32 outer_radius, F32 inner_radius, S32 steps, const LLColor4&
935 F32 x2 = inner_radius; 935 F32 x2 = inner_radius;
936 F32 y2 = 0.f; 936 F32 y2 = 0.f;
937 937
938 LLGLSNoTexture gls_no_texture; 938 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
939 939
940 gGL.begin( LLVertexBuffer::TRIANGLE_STRIP ); 940 gGL.begin( LLRender::TRIANGLE_STRIP );
941 { 941 {
942 steps += 1; // An extra step to close the circle. 942 steps += 1; // An extra step to close the circle.
943 while( steps-- ) 943 while( steps-- )
@@ -972,8 +972,8 @@ void gl_washer_segment_2d(F32 outer_radius, F32 inner_radius, F32 start_radians,
972 F32 x2 = inner_radius * cos( start_radians ); 972 F32 x2 = inner_radius * cos( start_radians );
973 F32 y2 = inner_radius * sin( start_radians ); 973 F32 y2 = inner_radius * sin( start_radians );
974 974
975 LLGLSNoTexture gls_no_texture; 975 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
976 gGL.begin( LLVertexBuffer::TRIANGLE_STRIP ); 976 gGL.begin( LLRender::TRIANGLE_STRIP );
977 { 977 {
978 steps += 1; // An extra step to close the circle. 978 steps += 1; // An extra step to close the circle.
979 while( steps-- ) 979 while( steps-- )
@@ -1008,9 +1008,9 @@ void gl_washer_spokes_2d(F32 outer_radius, F32 inner_radius, S32 count, const LL
1008 F32 x2 = inner_radius * cos( HALF_DELTA ); 1008 F32 x2 = inner_radius * cos( HALF_DELTA );
1009 F32 y2 = inner_radius * sin( HALF_DELTA ); 1009 F32 y2 = inner_radius * sin( HALF_DELTA );
1010 1010
1011 LLGLSNoTexture gls_no_texture; 1011 gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
1012 1012
1013 gGL.begin( LLVertexBuffer::LINES ); 1013 gGL.begin( LLRender::LINES );
1014 { 1014 {
1015 while( count-- ) 1015 while( count-- )
1016 { 1016 {
@@ -1033,7 +1033,7 @@ void gl_washer_spokes_2d(F32 outer_radius, F32 inner_radius, S32 count, const LL
1033 1033
1034void gl_rect_2d_simple_tex( S32 width, S32 height ) 1034void gl_rect_2d_simple_tex( S32 width, S32 height )
1035{ 1035{
1036 gGL.begin( LLVertexBuffer::QUADS ); 1036 gGL.begin( LLRender::QUADS );
1037 1037
1038 gGL.texCoord2f(1.f, 1.f); 1038 gGL.texCoord2f(1.f, 1.f);
1039 gGL.vertex2i(width, height); 1039 gGL.vertex2i(width, height);
@@ -1052,7 +1052,7 @@ void gl_rect_2d_simple_tex( S32 width, S32 height )
1052 1052
1053void gl_rect_2d_simple( S32 width, S32 height ) 1053void gl_rect_2d_simple( S32 width, S32 height )
1054{ 1054{
1055 gGL.begin( LLVertexBuffer::QUADS ); 1055 gGL.begin( LLRender::QUADS );
1056 gGL.vertex2i(width, height); 1056 gGL.vertex2i(width, height);
1057 gGL.vertex2i(0, height); 1057 gGL.vertex2i(0, height);
1058 gGL.vertex2i(0, 0); 1058 gGL.vertex2i(0, 0);
@@ -1094,7 +1094,7 @@ void gl_segmented_rect_2d_tex(const S32 left,
1094 LLVector2 width_vec((F32)width, 0.f); 1094 LLVector2 width_vec((F32)width, 0.f);
1095 LLVector2 height_vec(0.f, (F32)height); 1095 LLVector2 height_vec(0.f, (F32)height);
1096 1096
1097 gGL.begin(LLVertexBuffer::QUADS); 1097 gGL.begin(LLRender::QUADS);
1098 { 1098 {
1099 // draw bottom left 1099 // draw bottom left
1100 gGL.texCoord2f(0.f, 0.f); 1100 gGL.texCoord2f(0.f, 0.f);
@@ -1262,7 +1262,7 @@ void gl_segmented_rect_2d_fragment_tex(const S32 left,
1262 LLVector2 x_min; 1262 LLVector2 x_min;
1263 LLVector2 x_max; 1263 LLVector2 x_max;
1264 1264
1265 gGL.begin(LLVertexBuffer::QUADS); 1265 gGL.begin(LLRender::QUADS);
1266 { 1266 {
1267 if (start_fragment < middle_start) 1267 if (start_fragment < middle_start)
1268 { 1268 {
@@ -1419,7 +1419,7 @@ void gl_segmented_rect_3d_tex(const LLVector2& border_scale, const LLVector3& bo
1419 LLVector3 bottom_border_height = ((edges & (~(U32)ROUNDED_RECT_TOP)) != 0) ? border_height : LLVector3::zero; 1419 LLVector3 bottom_border_height = ((edges & (~(U32)ROUNDED_RECT_TOP)) != 0) ? border_height : LLVector3::zero;
1420 1420
1421 1421
1422 gGL.begin(LLVertexBuffer::QUADS); 1422 gGL.begin(LLRender::QUADS);
1423 { 1423 {
1424 // draw bottom left 1424 // draw bottom left
1425 gGL.texCoord2f(0.f, 0.f); 1425 gGL.texCoord2f(0.f, 0.f);
@@ -1575,7 +1575,7 @@ void LLUI::initClass(LLControlGroup* config,
1575void LLUI::cleanupClass() 1575void LLUI::cleanupClass()
1576{ 1576{
1577 sImageProvider->cleanUp(); 1577 sImageProvider->cleanUp();
1578 LLLineEditor::cleanupClass(); 1578 LLLineEditor::cleanupLineEditor();
1579} 1579}
1580 1580
1581 1581