]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/xywindow.cpp
enable size display by default
[xonotic/netradiant.git] / radiant / xywindow.cpp
index 9e6c1664ed946b2f41b3435a8468ce3359141c25..567d17f729326d5ebb342338e2fae36dd26c07cc 100644 (file)
@@ -390,7 +390,7 @@ struct xywindow_globals_private_t
 
     m_bCamXYUpdate(true),
     m_bChaseMouse(true),
-    m_bSizePaint(false)
+    m_bSizePaint(true)
   {
   }
 
@@ -966,7 +966,7 @@ void XYWnd::DropClipPoint(int pointx, int pointy)
   g_clip_viewtype = static_cast<VIEWTYPE>(GetViewType());
   const int nDim = (g_clip_viewtype == YZ ) ? 0 : ( (g_clip_viewtype == XZ) ? 1 : 2 );
   point[nDim] = mid[nDim];
-  vector3_snap(point, GetGridSize());
+  vector3_snap(point, GetSnapGridSize());
   NewClipPoint(point);
 }
 
@@ -1093,8 +1093,8 @@ void XYWnd::NewBrushDrag(int x, int y)
 
   int nDim = (m_viewType == XY) ? 2 : (m_viewType == YZ) ? 0 : 1;
 
-  mins[nDim] = float_snapped(Select_getWorkZone().d_work_min[nDim], GetGridSize());
-  maxs[nDim] = float_snapped(Select_getWorkZone().d_work_max[nDim], GetGridSize());
+  mins[nDim] = float_snapped(Select_getWorkZone().d_work_min[nDim], GetSnapGridSize());
+  maxs[nDim] = float_snapped(Select_getWorkZone().d_work_max[nDim], GetSnapGridSize());
 
   if (maxs[nDim] <= mins[nDim])
     maxs[nDim] = mins[nDim] + GetGridSize();
@@ -1555,18 +1555,18 @@ void XYWnd::XY_SnapToGrid(Vector3& point)
 {
   if (m_viewType == XY)
   {
-    point[0] = float_snapped(point[0], GetGridSize());
-    point[1] = float_snapped(point[1], GetGridSize());
+    point[0] = float_snapped(point[0], GetSnapGridSize());
+    point[1] = float_snapped(point[1], GetSnapGridSize());
   }
   else if (m_viewType == YZ)
   {
-    point[1] = float_snapped(point[1], GetGridSize());
-    point[2] = float_snapped(point[2], GetGridSize());
+    point[1] = float_snapped(point[1], GetSnapGridSize());
+    point[2] = float_snapped(point[2], GetSnapGridSize());
   }
   else
   {
-    point[0] = float_snapped(point[0], GetGridSize());
-    point[2] = float_snapped(point[2], GetGridSize());
+    point[0] = float_snapped(point[0], GetSnapGridSize());
+    point[2] = float_snapped(point[2], GetSnapGridSize());
   }
 }
 
@@ -1737,7 +1737,7 @@ void XYWnd::XY_DrawBackground(void)
 
 void XYWnd::XY_DrawGrid(void) {
        float   x, y, xb, xe, yb, ye;
-       float           w, h;
+       float           w, h, a;
        char    text[32];
        float step, minor_step, stepx, stepy;
        step = minor_step = stepx = stepy = GetGridSize();
@@ -1760,6 +1760,7 @@ void XYWnd::XY_DrawGrid(void) {
        while ((stepy * m_fScale) <= 32.0f) // text step y must be at least 32
                stepy *= 2;
 
+       a = ((GetSnapGridSize() > 0.0f) ? 1.0f : 0.3f);
 
        glDisable(GL_TEXTURE_2D);
        glDisable(GL_TEXTURE_1D);
@@ -1800,9 +1801,12 @@ void XYWnd::XY_DrawGrid(void) {
 
        // djbob
        // draw minor blocks
-       if (g_xywindow_globals_private.d_showgrid) {
+       if (g_xywindow_globals_private.d_showgrid || a < 1.0f) {
+               if(a < 1.0f)
+                       glEnable(GL_BLEND);
+
                if (COLORS_DIFFER(g_xywindow_globals.color_gridminor, g_xywindow_globals.color_gridback)) {
-                       glColor3fv(vector3_to_array(g_xywindow_globals.color_gridminor));
+                       glColor4fv(vector4_to_array(Vector4(g_xywindow_globals.color_gridminor, a)));
 
                        glBegin (GL_LINES);
                        int i = 0;
@@ -1823,8 +1827,8 @@ void XYWnd::XY_DrawGrid(void) {
                }
 
                // draw major blocks
-               if (COLORS_DIFFER(g_xywindow_globals.color_gridmajor, g_xywindow_globals.color_gridback)) {
-                       glColor3fv(vector3_to_array(g_xywindow_globals.color_gridmajor));
+               if (COLORS_DIFFER(g_xywindow_globals.color_gridmajor, g_xywindow_globals.color_gridminor)) {
+                       glColor4fv(vector4_to_array(Vector4(g_xywindow_globals.color_gridmajor, a)));
 
                        glBegin (GL_LINES);
                        for (x = xb ; x <= xe ; x += step) {
@@ -1837,12 +1841,17 @@ void XYWnd::XY_DrawGrid(void) {
                        }
                        glEnd();
                }
+
+               if(a < 1.0f)
+                       glDisable(GL_BLEND);
        }
 
        // draw coordinate text if needed
        if ( g_xywindow_globals_private.show_coordinates) {
-               glColor3fv(vector3_to_array(g_xywindow_globals.color_gridtext));
-               float offx = m_vOrigin[nDim2] + h - (1 + GlobalOpenGL().m_fontAscent) / m_fScale;
+               glColor4fv(vector4_to_array(Vector4(g_xywindow_globals.color_gridtext, 1.0f)));
+               // why does this not work on windows:
+               //   float offx = m_vOrigin[nDim2] + h - (1 + GlobalOpenGL().m_fontAscent) / m_fScale;
+               float offx = m_vOrigin[nDim2] + h - 13                                / m_fScale;
                float offy = m_vOrigin[nDim1] - w +  1                                / m_fScale;
                for (x = xb - fmod(xb, stepx); x <= xe ; x += stepx) {
                        glRasterPos2f (x, offx);
@@ -1871,7 +1880,7 @@ void XYWnd::XY_DrawGrid(void) {
        // show current work zone?
        // the work zone is used to place dropped points and brushes
        if (g_xywindow_globals_private.d_show_work) {
-               glColor3f( 1.0f, 0.0f, 0.0f );
+               glColor4f( 1.0f, 0.0f, 0.0f, 1.0f );
                glBegin( GL_LINES );
                glVertex2f( xb, Select_getWorkZone().d_work_min[nDim2] );
                glVertex2f( xe, Select_getWorkZone().d_work_min[nDim2] );
@@ -2578,7 +2587,7 @@ void XY_Split_Focus()
 
 void XY_Focus()
 {
-  if (g_pParentWnd->CurrentStyle() == MainFrame::eSplit || g_pParentWnd->CurrentStyle() == MainFrame::eFloating)
+  if (g_pParentWnd->CurrentStyle() == MainFrame::eSplit)
   {
          // cannot do this in a split window
          // do something else that the user may want here
@@ -2971,10 +2980,6 @@ void XYWindow_Construct()
   GlobalPreferenceSystem().registerPreference("SI_Colors6", Vector3ImportStringCaller(g_xywindow_globals.color_gridblock), Vector3ExportStringCaller(g_xywindow_globals.color_gridblock));
   GlobalPreferenceSystem().registerPreference("SI_Colors7", Vector3ImportStringCaller(g_xywindow_globals.color_gridtext), Vector3ExportStringCaller(g_xywindow_globals.color_gridtext));
   GlobalPreferenceSystem().registerPreference("SI_Colors8", Vector3ImportStringCaller(g_xywindow_globals.color_brushes), Vector3ExportStringCaller(g_xywindow_globals.color_brushes));
-  GlobalPreferenceSystem().registerPreference("SI_Colors9", Vector3ImportStringCaller(g_xywindow_globals.color_selbrushes), Vector3ExportStringCaller(g_xywindow_globals.color_selbrushes));
-  GlobalPreferenceSystem().registerPreference("SI_Colors10", Vector3ImportStringCaller(g_xywindow_globals.color_clipper), Vector3ExportStringCaller(g_xywindow_globals.color_clipper));
-  GlobalPreferenceSystem().registerPreference("SI_Colors11", Vector3ImportStringCaller(g_xywindow_globals.color_viewname), Vector3ExportStringCaller(g_xywindow_globals.color_viewname));
-  GlobalPreferenceSystem().registerPreference("SI_Colors13", Vector3ImportStringCaller(g_xywindow_globals.color_gridminor_alt), Vector3ExportStringCaller(g_xywindow_globals.color_gridminor_alt));
   GlobalPreferenceSystem().registerPreference("SI_Colors14", Vector3ImportStringCaller(g_xywindow_globals.color_gridmajor_alt), Vector3ExportStringCaller(g_xywindow_globals.color_gridmajor_alt));