diff --git a/external/cubicvr2/math/cubic_types.h b/external/cubicvr2/math/cubic_types.h index bc4ddc7..060fc6f 100644 --- a/external/cubicvr2/math/cubic_types.h +++ b/external/cubicvr2/math/cubic_types.h @@ -38,4 +38,9 @@ namespace CubicVR { } +#include +#ifndef M_PI + #define M_PI 3.14159265358979323846 +#endif + #endif diff --git a/external/cubicvr2/math/frustum.h b/external/cubicvr2/math/frustum.h index 5da030f..2d983fe 100644 --- a/external/cubicvr2/math/frustum.h +++ b/external/cubicvr2/math/frustum.h @@ -10,6 +10,7 @@ #define CubicVR2_frustum_h #include +#include "cubic_types.h" #include "mat4.h" #include "vec3.h" #include "vec4.h" @@ -75,14 +76,14 @@ namespace CubicVR { //Sphere __float fov = 1 / pMatrix[5]; - __float near = -planes[PLANE_NEAR][3]; - __float far = planes[PLANE_FAR][3]; - __float view_length = far - near; + __float znear = -planes[PLANE_NEAR][3]; + __float zfar = planes[PLANE_FAR][3]; + __float view_length = zfar - znear; __float height = view_length * fov; __float width = height; - vec3 P(0, 0, near + view_length * 0.5f); - vec3 Q(width, height, near + view_length); + vec3 P(0, 0, znear + view_length * 0.5f); + vec3 Q(width, height, znear + view_length); vec3 diff = vec3::subtract(P, Q); __float diff_mag = vec3::length(diff); diff --git a/external/cubicvr2/math/mat3.h b/external/cubicvr2/math/mat3.h index 90553c4..e96b0db 100644 --- a/external/cubicvr2/math/mat3.h +++ b/external/cubicvr2/math/mat3.h @@ -11,6 +11,7 @@ #include #include "vec3.h" +#include namespace CubicVR { diff --git a/external/cubicvr2/math/mat4.h b/external/cubicvr2/math/mat4.h index b54029b..b46409c 100644 --- a/external/cubicvr2/math/mat4.h +++ b/external/cubicvr2/math/mat4.h @@ -72,15 +72,15 @@ namespace CubicVR { return mOut; } - static mat4 perspective(__float fovy, __float aspect, __float near, __float far) { + static mat4 perspective(__float fovy, __float aspect, __float znear, __float zfar) { __float yFac = tan(fovy * (float)M_PI / 360.0f); __float xFac = yFac * aspect; return mat4( - 1.0f / xFac, 0, 0, 0, 0, 1.0f / yFac, 0, 0, 0, 0, -(far + near) / (far - near), -1, 0, 0, -(2.0f * far * near) / (far - near), 0); + 1.0f / xFac, 0, 0, 0, 0, 1.0f / yFac, 0, 0, 0, 0, -(zfar + znear) / (zfar - znear), -1, 0, 0, -(2.0f * zfar * znear) / (zfar - znear), 0); }; - static mat4 ortho(__float left,__float right,__float bottom,__float top,__float near,__float far) { - return mat4(2.0f / (right - left), 0, 0, 0, 0, 2.0f / (top - bottom), 0, 0, 0, 0, -2.0f / (far - near), 0, -(left + right) / (right - left), -(top + bottom) / (top - bottom), -(far + near) / (far - near), 1); + static mat4 ortho(__float left,__float right,__float bottom,__float top,__float znear,__float zfar) { + return mat4(2.0f / (right - left), 0, 0, 0, 0, 2.0f / (top - bottom), 0, 0, 0, 0, -2.0f / (zfar - znear), 0, -(left + right) / (right - left), -(top + bottom) / (top - bottom), -(zfar + znear) / (zfar - znear), 1); }; static __float determinant(mat4 m) { diff --git a/src/process/VisualProcessor.h b/src/process/VisualProcessor.h index c27dbb1..5ca4b7d 100644 --- a/src/process/VisualProcessor.h +++ b/src/process/VisualProcessor.h @@ -3,6 +3,7 @@ #include "CubicSDRDefs.h" #include "ThreadQueue.h" #include "IOThread.h" +#include typedef ThreadQueue VisualDataQueue; diff --git a/src/ui/GLPanel.cpp b/src/ui/GLPanel.cpp index e0d24ed..5de9387 100644 --- a/src/ui/GLPanel.cpp +++ b/src/ui/GLPanel.cpp @@ -9,9 +9,9 @@ GLPanel::GLPanel() : fillType(GLPANEL_FILL_SOLID), contentsVisible(true), transf pos[1] = 0.0f; size[0] = 1.0f; size[1] = 1.0f; - fill[0] = RGB(0.5,0.5,0.5); - fill[1] = RGB(0.1,0.1,0.1); - borderColor = RGB(0.8, 0.8, 0.8); + fill[0] = RGB3f(0.5,0.5,0.5); + fill[1] = RGB3f(0.1,0.1,0.1); + borderColor = RGB3f(0.8, 0.8, 0.8); setCoordinateSystem(GLPANEL_Y_UP); } @@ -31,7 +31,7 @@ void GLPanel::genArrays() { max, min }; - RGB c[4]; + RGB3f c[4]; if (fillType == GLPANEL_FILL_SOLID) { c[0] = c[1] = c[2] = c[3] = fill[0]; @@ -58,7 +58,7 @@ void GLPanel::genArrays() { glColors.reserve(3 * 8); glColors.resize(3 * 8); - RGB c[8]; + RGB3f c[8]; if (fillType == GLPANEL_FILL_GRAD_BAR_X) { float pts[2 * 8] = { @@ -173,12 +173,12 @@ void GLPanel::setFill(GLPanelFillType fill_mode) { genArrays(); } -void GLPanel::setFillColor(RGB color1) { +void GLPanel::setFillColor(RGB3f color1) { fill[0] = color1; genArrays(); } -void GLPanel::setFillColor(RGB color1, RGB color2) { +void GLPanel::setFillColor(RGB3f color1, RGB3f color2) { fill[0] = color1; fill[1] = color2; genArrays(); @@ -189,7 +189,7 @@ void GLPanel::setMarginPx(float marg) { } -void GLPanel::setBorderColor(RGB clr) { +void GLPanel::setBorderColor(RGB3f clr) { borderColor = clr; } diff --git a/src/ui/GLPanel.h b/src/ui/GLPanel.h index d03a60d..db16fe2 100644 --- a/src/ui/GLPanel.h +++ b/src/ui/GLPanel.h @@ -42,8 +42,8 @@ public: GLPanelCoordinateSystem coord; float marginPx; GLPanelEdges borderPx; - RGB fill[2]; - RGB borderColor; + RGB3f fill[2]; + RGB3f borderColor; bool contentsVisible; CubicVR::mat4 transform; CubicVR::mat4 localTransform; @@ -68,11 +68,11 @@ public: void setCoordinateSystem(GLPanelCoordinateSystem coord); void setFill(GLPanelFillType fill_mode); - void setFillColor(RGB color1); - void setFillColor(RGB color1, RGB color2); + void setFillColor(RGB3f color1); + void setFillColor(RGB3f color1, RGB3f color2); void setMarginPx(float marg); - void setBorderColor(RGB clr); + void setBorderColor(RGB3f clr); void setBorderPx(float bord); void setBorderPx(float bordl, float bordr, float bordt, float bordb); diff --git a/src/ui/UITestContext.cpp b/src/ui/UITestContext.cpp index 8042981..ec2722d 100644 --- a/src/ui/UITestContext.cpp +++ b/src/ui/UITestContext.cpp @@ -9,30 +9,30 @@ PrimaryGLContext(canvas, sharedContext) { testPanel.setSize(1.0, 1.0); testPanel.setMarginPx(10); testPanel.setFill(GLPanel::GLPANEL_FILL_GRAD_BAR_Y); - testPanel.setFillColor(RGB(0.0,0.0,1.0), RGB(0.0,1.0,0.0)); + testPanel.setFillColor(RGB3f(0.0,0.0,1.0), RGB3f(0.0,1.0,0.0)); testChildPanel.setPosition(0.0, 0.0); testChildPanel.setMarginPx(5); testChildPanel.setSize(1.0, 0.33); testChildPanel.setCoordinateSystem(GLPanel::GLPANEL_Y_DOWN_ZERO_ONE); testChildPanel.setFill(GLPanel::GLPANEL_FILL_GRAD_BAR_X); - testChildPanel.setFillColor(RGB(0.0,0.0,1.0), RGB(0.0,1.0,0.0)); + testChildPanel.setFillColor(RGB3f(0.0,0.0,1.0), RGB3f(0.0,1.0,0.0)); testChildPanel.setBorderPx(1); testChildPanel2.setPosition(0.0, -0.66); testChildPanel2.setSize(1.0, 0.33); testChildPanel2.setMarginPx(5); testChildPanel2.setFill(GLPanel::GLPANEL_FILL_GRAD_X); - testChildPanel2.setFillColor(RGB(0.0,0.0,1.0), RGB(0.0,1.0,0.0)); - testChildPanel2.setBorderColor(RGB(1.0,0.0,0.0)); + testChildPanel2.setFillColor(RGB3f(0.0,0.0,1.0), RGB3f(0.0,1.0,0.0)); + testChildPanel2.setBorderColor(RGB3f(1.0,0.0,0.0)); testChildPanel2.setBorderPx(1); testChildPanel3.setPosition(0.0, 0.66); testChildPanel3.setSize(1.0, 0.33); testChildPanel3.setMarginPx(5); testChildPanel3.setFill(GLPanel::GLPANEL_FILL_GRAD_X); - testChildPanel3.setFillColor(RGB(0.0,0.0,1.0), RGB(0.0,1.0,0.0)); - testChildPanel3.setBorderColor(RGB(1.0,0.0,0.0)); + testChildPanel3.setFillColor(RGB3f(0.0,0.0,1.0), RGB3f(0.0,1.0,0.0)); + testChildPanel3.setBorderColor(RGB3f(1.0,0.0,0.0)); testChildPanel3.setBorderPx(1); testText1.setText("Testing 123.."); diff --git a/src/visual/ColorTheme.cpp b/src/visual/ColorTheme.cpp index 4038a1e..7c0b5ef 100644 --- a/src/visual/ColorTheme.cpp +++ b/src/visual/ColorTheme.cpp @@ -41,27 +41,27 @@ DefaultColorTheme::DefaultColorTheme() { waterfallGradient.addColor(GradientColor(1.0, 1.0, 0)); waterfallGradient.addColor(GradientColor(1.0, 0.2, 0.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 1); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(0.9, 0.9, 0.9); - fftHighlight = RGB(1, 1, 1); - scopeLine = RGB(0.9, 0.9, 0.9); - tuningBarLight = RGB(0.2, 0.2, 0.9); - tuningBarDark = RGB(0.0, 0.0, 0.35); - tuningBarUp = RGB(1.0, 139.0/255.0, 96.0/255.0); - tuningBarDown = RGB(148.0/255.0, 148.0/255.0, 1.0); - meterLevel = RGB(0.1, 0.75, 0.1); - meterValue = RGB(0.75, 0.1, 0.1); - text = RGB(1, 1, 1); - freqLine = RGB(1, 1, 1); - button = RGB(0.65, 0.65, 0.65); - buttonHighlight = RGB(1, 1, 0); + waterfallHighlight = RGB3f(1, 1, 1); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(0.9, 0.9, 0.9); + fftHighlight = RGB3f(1, 1, 1); + scopeLine = RGB3f(0.9, 0.9, 0.9); + tuningBarLight = RGB3f(0.2, 0.2, 0.9); + tuningBarDark = RGB3f(0.0, 0.0, 0.35); + tuningBarUp = RGB3f(1.0, 139.0/255.0, 96.0/255.0); + tuningBarDown = RGB3f(148.0/255.0, 148.0/255.0, 1.0); + meterLevel = RGB3f(0.1, 0.75, 0.1); + meterValue = RGB3f(0.75, 0.1, 0.1); + text = RGB3f(1, 1, 1); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(0.65, 0.65, 0.65); + buttonHighlight = RGB3f(1, 1, 0); - scopeBackground = RGB(0.1, 0.1, 0.1); - fftBackground = RGB(0.1, 0.1, 0.1); - generalBackground = RGB(0.1, 0.1, 0.1); + scopeBackground = RGB3f(0.1, 0.1, 0.1); + fftBackground = RGB3f(0.1, 0.1, 0.1); + generalBackground = RGB3f(0.1, 0.1, 0.1); } @@ -72,27 +72,27 @@ RadarColorTheme::RadarColorTheme() { waterfallGradient.addColor(GradientColor(40.0 / 255.0, 240.0 / 255.0, 60.0 / 255.0)); waterfallGradient.addColor(GradientColor(250.0 / 255.0, 250.0 / 255.0, 250.0 / 255.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 1); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(0.8, 1.0, 0.8); - fftHighlight = RGB(1, 1, 1); - scopeLine = RGB(0.8, 1.0, 0.8); - tuningBarLight = RGB(0.0, 0.45, 0.0); - tuningBarDark = RGB(0.0, 0.1, 0.0); - tuningBarUp = RGB(1.0, 139.0/255.0, 96.0/255.0); - tuningBarDown = RGB(148.0/255.0, 0.0, 0.0); - meterLevel = RGB(0, 0.5, 0); - meterValue = RGB(0, 0.5, 0); - text = RGB(0.8, 1.0, 0.8); - freqLine = RGB(1, 1, 1); - button = RGB(0.65, 0.75, 0.65); - buttonHighlight = RGB(0.65, 1.0, 0.65); + waterfallHighlight = RGB3f(1, 1, 1); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(0.8, 1.0, 0.8); + fftHighlight = RGB3f(1, 1, 1); + scopeLine = RGB3f(0.8, 1.0, 0.8); + tuningBarLight = RGB3f(0.0, 0.45, 0.0); + tuningBarDark = RGB3f(0.0, 0.1, 0.0); + tuningBarUp = RGB3f(1.0, 139.0/255.0, 96.0/255.0); + tuningBarDown = RGB3f(148.0/255.0, 0.0, 0.0); + meterLevel = RGB3f(0, 0.5, 0); + meterValue = RGB3f(0, 0.5, 0); + text = RGB3f(0.8, 1.0, 0.8); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(0.65, 0.75, 0.65); + buttonHighlight = RGB3f(0.65, 1.0, 0.65); - scopeBackground = RGB(0.05, 0.1, 0.05); - fftBackground = RGB(0.05, 0.1, 0.05); - generalBackground = RGB(0.05, 0.1, 0.05); + scopeBackground = RGB3f(0.05, 0.1, 0.05); + fftBackground = RGB3f(0.05, 0.1, 0.05); + generalBackground = RGB3f(0.05, 0.1, 0.05); } BlackAndWhiteColorTheme::BlackAndWhiteColorTheme() { @@ -101,27 +101,27 @@ BlackAndWhiteColorTheme::BlackAndWhiteColorTheme() { waterfallGradient.addColor(GradientColor(0.75, 0.75, 0.75)); waterfallGradient.addColor(GradientColor(1.0, 1.0, 1.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 0.9); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(0.9, 0.9, 0.9); - fftHighlight = RGB(1, 1, 0.9); - scopeLine = RGB(0.9, 0.9, 0.9); - tuningBarLight = RGB(0.4, 0.4, 0.4); - tuningBarDark = RGB(0.1, 0.1, 0.1); - tuningBarUp = RGB(0.8, 0.8, 0.8); - tuningBarDown = RGB(0.4, 0.4, 0.4); - meterLevel = RGB(0.5, 0.5, 0.5); - meterValue = RGB(0.5, 0.5, 0.5); - text = RGB(1, 1, 1); - freqLine = RGB(1, 1, 1); - button = RGB(0.65, 0.65, 0.65); - buttonHighlight = RGB(1, 1, 1); + waterfallHighlight = RGB3f(1, 1, 0.9); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(0.9, 0.9, 0.9); + fftHighlight = RGB3f(1, 1, 0.9); + scopeLine = RGB3f(0.9, 0.9, 0.9); + tuningBarLight = RGB3f(0.4, 0.4, 0.4); + tuningBarDark = RGB3f(0.1, 0.1, 0.1); + tuningBarUp = RGB3f(0.8, 0.8, 0.8); + tuningBarDown = RGB3f(0.4, 0.4, 0.4); + meterLevel = RGB3f(0.5, 0.5, 0.5); + meterValue = RGB3f(0.5, 0.5, 0.5); + text = RGB3f(1, 1, 1); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(0.65, 0.65, 0.65); + buttonHighlight = RGB3f(1, 1, 1); - scopeBackground = RGB(0.1, 0.1, 0.1); - fftBackground = RGB(0.1, 0.1, 0.1); - generalBackground = RGB(0.1, 0.1, 0.1); + scopeBackground = RGB3f(0.1, 0.1, 0.1); + fftBackground = RGB3f(0.1, 0.1, 0.1); + generalBackground = RGB3f(0.1, 0.1, 0.1); } @@ -139,27 +139,27 @@ SharpColorTheme::SharpColorTheme() { waterfallGradient.addColor(GradientColor(1.0, 0.25, 0.0)); waterfallGradient.addColor(GradientColor(0.5, 0.1, 0.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(0.9, 0.9, 1.0); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(0.9, 0.9, 1.0); - fftHighlight = RGB(0.9, 0.9, 1.0); - scopeLine = RGB(0.85, 0.85, 1.0); - tuningBarLight = RGB(28.0 / 255.0, 106.0 / 255.0, 179.0 / 255.0); - tuningBarDark = RGB(14.0 / 255.0, 53.0 / 255.0, 89.5 / 255.0); - tuningBarUp = RGB(0.7, 0.7, 0.7); - tuningBarDown = RGB(1.0, 0.0, 0.0); - meterLevel = RGB(28.0 / 255.0, 106.0 / 255.0, 179.0 / 255.0); - meterValue = RGB(190.0 / 255.0, 190.0 / 255.0, 60.0 / 255.0); - text = RGB(0.9, 0.9, 1); - freqLine = RGB(0.85, 0.85, 1.0); - button = RGB(217.0 / 255.0, 218.0 / 255.0, 228.0 / 255.0); - buttonHighlight = RGB(208.0 / 255.0, 249.0 / 255.0, 255.0 / 255.0); + waterfallHighlight = RGB3f(0.9, 0.9, 1.0); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(0.9, 0.9, 1.0); + fftHighlight = RGB3f(0.9, 0.9, 1.0); + scopeLine = RGB3f(0.85, 0.85, 1.0); + tuningBarLight = RGB3f(28.0 / 255.0, 106.0 / 255.0, 179.0 / 255.0); + tuningBarDark = RGB3f(14.0 / 255.0, 53.0 / 255.0, 89.5 / 255.0); + tuningBarUp = RGB3f(0.7, 0.7, 0.7); + tuningBarDown = RGB3f(1.0, 0.0, 0.0); + meterLevel = RGB3f(28.0 / 255.0, 106.0 / 255.0, 179.0 / 255.0); + meterValue = RGB3f(190.0 / 255.0, 190.0 / 255.0, 60.0 / 255.0); + text = RGB3f(0.9, 0.9, 1); + freqLine = RGB3f(0.85, 0.85, 1.0); + button = RGB3f(217.0 / 255.0, 218.0 / 255.0, 228.0 / 255.0); + buttonHighlight = RGB3f(208.0 / 255.0, 249.0 / 255.0, 255.0 / 255.0); - scopeBackground = RGB(0.05, 0.05, 0.15); - fftBackground = RGB(0.05, 0.05, 0.15); - generalBackground = RGB(0.05, 0.05, 0.15); + scopeBackground = RGB3f(0.05, 0.05, 0.15); + fftBackground = RGB3f(0.05, 0.05, 0.15); + generalBackground = RGB3f(0.05, 0.05, 0.15); } RadColorTheme::RadColorTheme() { @@ -170,27 +170,27 @@ RadColorTheme::RadColorTheme() { waterfallGradient.addColor(GradientColor(1.0, 40.0 / 255.0, 40.0 / 255.0)); waterfallGradient.addColor(GradientColor(1.0, 1.0, 1.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 1); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(1.0, 0.9, 0.9); - fftHighlight = RGB(1, 1, 1); - scopeLine = RGB(1.0, 0.9, 0.9); - tuningBarLight = RGB(0.0, 0.45, 0.0); - tuningBarDark = RGB(0.0, 0.1, 0.0); - tuningBarUp = RGB(1.0, 0.0, 0.0); - tuningBarDown = RGB(0.0, 0.5, 1.0); - meterLevel = RGB(0, 0.5, 0); - meterValue = RGB(0.5, 0, 0); - text = RGB(1, 1, 1); - freqLine = RGB(1, 1, 1); - button = RGB(0.65, 0.65, 0.65); - buttonHighlight = RGB(0.76, 0.65, 0); + waterfallHighlight = RGB3f(1, 1, 1); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(1.0, 0.9, 0.9); + fftHighlight = RGB3f(1, 1, 1); + scopeLine = RGB3f(1.0, 0.9, 0.9); + tuningBarLight = RGB3f(0.0, 0.45, 0.0); + tuningBarDark = RGB3f(0.0, 0.1, 0.0); + tuningBarUp = RGB3f(1.0, 0.0, 0.0); + tuningBarDown = RGB3f(0.0, 0.5, 1.0); + meterLevel = RGB3f(0, 0.5, 0); + meterValue = RGB3f(0.5, 0, 0); + text = RGB3f(1, 1, 1); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(0.65, 0.65, 0.65); + buttonHighlight = RGB3f(0.76, 0.65, 0); - scopeBackground = RGB(13.0 / 255.0, 47.0 / 255.0, 9.0 / 255.0); - fftBackground = RGB(0, 0, 50.0 / 255.0); - generalBackground = RGB(13.0 / 255.0, 47.0 / 255.0, 9.0 / 255.0); + scopeBackground = RGB3f(13.0 / 255.0, 47.0 / 255.0, 9.0 / 255.0); + fftBackground = RGB3f(0, 0, 50.0 / 255.0); + generalBackground = RGB3f(13.0 / 255.0, 47.0 / 255.0, 9.0 / 255.0); } TouchColorTheme::TouchColorTheme() { @@ -204,27 +204,27 @@ TouchColorTheme::TouchColorTheme() { waterfallGradient.addColor(GradientColor(255.0 / 255.0, 0.0 / 255.0, 0.0 / 255.0)); waterfallGradient.addColor(GradientColor(255.0 / 255.0, 255.0 / 255.0, 255.0 / 255.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 1); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(234.0 / 255.0, 232.0 / 255.0, 247.0 / 255.0); - fftHighlight = RGB(1.0, 1.0, 1.0); - scopeLine = RGB(234.0 / 255.0, 232.0 / 255.0, 247.0 / 255.0); - tuningBarLight = RGB(0.2, 0.2, 0.7); - tuningBarDark = RGB(0.1, 0.1, 0.45); - tuningBarUp = RGB(0.5, 139.0/255.0, 96.0/255.0); - tuningBarDown = RGB(0.6, 108.0/255.0, 1.0); - meterLevel = RGB(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); - meterValue = RGB(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); - text = RGB(1, 1, 1); - freqLine = RGB(1, 1, 1); - button = RGB(1.0, 1.0, 1.0); - buttonHighlight = RGB(208.0 / 255.0, 202.0 / 255.0, 247.0 / 255.0); + waterfallHighlight = RGB3f(1, 1, 1); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(234.0 / 255.0, 232.0 / 255.0, 247.0 / 255.0); + fftHighlight = RGB3f(1.0, 1.0, 1.0); + scopeLine = RGB3f(234.0 / 255.0, 232.0 / 255.0, 247.0 / 255.0); + tuningBarLight = RGB3f(0.2, 0.2, 0.7); + tuningBarDark = RGB3f(0.1, 0.1, 0.45); + tuningBarUp = RGB3f(0.5, 139.0/255.0, 96.0/255.0); + tuningBarDown = RGB3f(0.6, 108.0/255.0, 1.0); + meterLevel = RGB3f(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); + meterValue = RGB3f(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); + text = RGB3f(1, 1, 1); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(1.0, 1.0, 1.0); + buttonHighlight = RGB3f(208.0 / 255.0, 202.0 / 255.0, 247.0 / 255.0); - scopeBackground = RGB(39.0 / 255.0, 36.0 / 255.0, 56.0 / 255.0); - fftBackground = RGB(39.0 / 255.0, 36.0 / 255.0, 56.0 / 255.0); - generalBackground = RGB(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); + scopeBackground = RGB3f(39.0 / 255.0, 36.0 / 255.0, 56.0 / 255.0); + fftBackground = RGB3f(39.0 / 255.0, 36.0 / 255.0, 56.0 / 255.0); + generalBackground = RGB3f(61.0 / 255.0, 57.0 / 255.0, 88.0 / 255.0); } @@ -239,27 +239,27 @@ HDColorTheme::HDColorTheme() { waterfallGradient.addColor(GradientColor(255.0 / 255.0, 235.0 / 255.0, 100.0 / 255.0)); waterfallGradient.addColor(GradientColor(250.0 / 255.0, 250.0 / 255.0, 250.0 / 255.0)); waterfallGradient.generate(256); - waterfallHighlight = RGB(1, 1, 1); - waterfallNew = RGB(0, 1, 0); - waterfallHover = RGB(1, 1, 0); - waterfallDestroy = RGB(1, 0, 0); - fftLine = RGB(0.9, 0.9, 0.9); - fftHighlight = RGB(1, 1, 1); - scopeLine = RGB(0.9, 0.9, 0.9); - tuningBarLight = RGB(0.4, 0.4, 1.0); - tuningBarDark = RGB(0.1, 0.1, 0.45); - tuningBarUp = RGB(1.0, 139.0/255.0, 96.0/255.0); - tuningBarDown = RGB(148.0/255.0, 148.0/255.0, 1.0); - meterLevel = RGB(0, 0.5, 0); - meterValue = RGB(0.0, 0.0, 1.0); - text = RGB(1, 1, 1); - freqLine = RGB(1, 1, 1); - button = RGB(0, 0.7, 0.7); - buttonHighlight = RGB(1, 1, 1); + waterfallHighlight = RGB3f(1, 1, 1); + waterfallNew = RGB3f(0, 1, 0); + waterfallHover = RGB3f(1, 1, 0); + waterfallDestroy = RGB3f(1, 0, 0); + fftLine = RGB3f(0.9, 0.9, 0.9); + fftHighlight = RGB3f(1, 1, 1); + scopeLine = RGB3f(0.9, 0.9, 0.9); + tuningBarLight = RGB3f(0.4, 0.4, 1.0); + tuningBarDark = RGB3f(0.1, 0.1, 0.45); + tuningBarUp = RGB3f(1.0, 139.0/255.0, 96.0/255.0); + tuningBarDown = RGB3f(148.0/255.0, 148.0/255.0, 1.0); + meterLevel = RGB3f(0, 0.5, 0); + meterValue = RGB3f(0.0, 0.0, 1.0); + text = RGB3f(1, 1, 1); + freqLine = RGB3f(1, 1, 1); + button = RGB3f(0, 0.7, 0.7); + buttonHighlight = RGB3f(1, 1, 1); - scopeBackground = RGB(0.0, 0.0, 48.0 / 255.0); - fftBackground = RGB(0.0, 0.0, 48.0 / 255.0); - generalBackground = RGB(0.0, 0.0, 0.0); + scopeBackground = RGB3f(0.0, 0.0, 48.0 / 255.0); + fftBackground = RGB3f(0.0, 0.0, 48.0 / 255.0); + generalBackground = RGB3f(0.0, 0.0, 0.0); } diff --git a/src/visual/ColorTheme.h b/src/visual/ColorTheme.h index 971863d..1318ac6 100644 --- a/src/visual/ColorTheme.h +++ b/src/visual/ColorTheme.h @@ -15,21 +15,21 @@ #define COLOR_THEME_RADAR 6 #define COLOR_THEME_MAX 7 -class RGB { +class RGB3f { public: float r, g, b; - RGB(float r, float g, float b) : + RGB3f(float r, float g, float b) : r(r), g(g), b(b) { } - RGB() : - RGB(0, 0, 0) { + RGB3f() : + RGB3f(0, 0, 0) { } - ~RGB() { + ~RGB3f() { } - RGB & operator=(const RGB &other) { + RGB3f & operator=(const RGB3f &other) { r = other.r; g = other.g; b = other.b; @@ -39,28 +39,28 @@ public: class ColorTheme { public: - RGB waterfallHighlight; - RGB waterfallNew; - RGB wfHighlight; - RGB waterfallHover; - RGB waterfallDestroy; - RGB fftLine; - RGB fftHighlight; - RGB scopeLine; - RGB tuningBarLight; - RGB tuningBarDark; - RGB tuningBarUp; - RGB tuningBarDown; - RGB meterLevel; - RGB meterValue; - RGB text; - RGB freqLine; - RGB button; - RGB buttonHighlight; + RGB3f waterfallHighlight; + RGB3f waterfallNew; + RGB3f wfHighlight; + RGB3f waterfallHover; + RGB3f waterfallDestroy; + RGB3f fftLine; + RGB3f fftHighlight; + RGB3f scopeLine; + RGB3f tuningBarLight; + RGB3f tuningBarDark; + RGB3f tuningBarUp; + RGB3f tuningBarDown; + RGB3f meterLevel; + RGB3f meterValue; + RGB3f text; + RGB3f freqLine; + RGB3f button; + RGB3f buttonHighlight; - RGB scopeBackground; - RGB fftBackground; - RGB generalBackground; + RGB3f scopeBackground; + RGB3f fftBackground; + RGB3f generalBackground; Gradient waterfallGradient; diff --git a/src/visual/PrimaryGLContext.cpp b/src/visual/PrimaryGLContext.cpp index 2087dd3..af1ae95 100644 --- a/src/visual/PrimaryGLContext.cpp +++ b/src/visual/PrimaryGLContext.cpp @@ -59,7 +59,7 @@ PrimaryGLContext::PrimaryGLContext(wxGLCanvas *canvas, wxGLContext *sharedContex //#endif } -void PrimaryGLContext::DrawDemodInfo(DemodulatorInstance *demod, RGB color, long long center_freq, long long srate) { +void PrimaryGLContext::DrawDemodInfo(DemodulatorInstance *demod, RGB3f color, long long center_freq, long long srate) { if (!demod) { return; } @@ -140,7 +140,7 @@ void PrimaryGLContext::DrawDemodInfo(DemodulatorInstance *demod, RGB color, long } -void PrimaryGLContext::DrawDemod(DemodulatorInstance *demod, RGB color, long long center_freq, long long srate) { +void PrimaryGLContext::DrawDemod(DemodulatorInstance *demod, RGB3f color, long long center_freq, long long srate) { if (!demod) { return; } @@ -290,7 +290,7 @@ void PrimaryGLContext::DrawDemod(DemodulatorInstance *demod, RGB color, long lon } -void PrimaryGLContext::DrawFreqSelector(float uxPos, RGB color, float w, long long center_freq, long long srate) { +void PrimaryGLContext::DrawFreqSelector(float uxPos, RGB3f color, float w, long long center_freq, long long srate) { DemodulatorInstance *demod = wxGetApp().getDemodMgr().getLastActiveDemodulator(); long long bw = 0; @@ -341,7 +341,7 @@ void PrimaryGLContext::DrawFreqSelector(float uxPos, RGB color, float w, long lo } -void PrimaryGLContext::DrawRangeSelector(float uxPos1, float uxPos2, RGB color) { +void PrimaryGLContext::DrawRangeSelector(float uxPos1, float uxPos2, RGB3f color) { if (uxPos2 < uxPos1) { float temp = uxPos2; uxPos2=uxPos1; diff --git a/src/visual/PrimaryGLContext.h b/src/visual/PrimaryGLContext.h index 353f563..4f87e4d 100644 --- a/src/visual/PrimaryGLContext.h +++ b/src/visual/PrimaryGLContext.h @@ -21,10 +21,10 @@ public: void BeginDraw(float r, float g, float b); void EndDraw(); - void DrawFreqSelector(float uxPos, RGB color, float w = 0, long long center_freq = -1, long long srate = 0); - void DrawRangeSelector(float uxPos1, float uxPos2, RGB color); - void DrawDemod(DemodulatorInstance *demod, RGB color, long long center_freq = -1, long long srate = 0); - void DrawDemodInfo(DemodulatorInstance *demod, RGB color, long long center_freq = -1, long long srate = 0); + void DrawFreqSelector(float uxPos, RGB3f color, float w = 0, long long center_freq = -1, long long srate = 0); + void DrawRangeSelector(float uxPos1, float uxPos2, RGB3f color); + void DrawDemod(DemodulatorInstance *demod, RGB3f color, long long center_freq = -1, long long srate = 0); + void DrawDemodInfo(DemodulatorInstance *demod, RGB3f color, long long center_freq = -1, long long srate = 0); void setHoverAlpha(float hoverAlpha); diff --git a/src/visual/TuningCanvas.cpp b/src/visual/TuningCanvas.cpp index d64edbd..5582f30 100644 --- a/src/visual/TuningCanvas.cpp +++ b/src/visual/TuningCanvas.cpp @@ -84,10 +84,10 @@ void TuningCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { 0.75, mouseTracker.getOriginMouseX(), mouseTracker.getMouseX()); } - RGB clr = top ? ThemeMgr::mgr.currentTheme->tuningBarUp : ThemeMgr::mgr.currentTheme->tuningBarDown; + RGB3f clr = top ? ThemeMgr::mgr.currentTheme->tuningBarUp : ThemeMgr::mgr.currentTheme->tuningBarDown; - RGB clrDark = ThemeMgr::mgr.currentTheme->tuningBarDark; - RGB clrMid = ThemeMgr::mgr.currentTheme->tuningBarLight; + RGB3f clrDark = ThemeMgr::mgr.currentTheme->tuningBarDark; + RGB3f clrMid = ThemeMgr::mgr.currentTheme->tuningBarLight; glContext->DrawTunerBarIndexed(1, 3, 11, freqDP, freqW, clrMid, 0.25, true, true); // freq glContext->DrawTunerBarIndexed(4, 6, 11, freqDP, freqW, clrDark, 0.25, true, true); @@ -129,7 +129,7 @@ void TuningCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { glContext->DrawTuner(freq, 11, freqDP, freqW); int snap = wxGetApp().getFrequencySnap(); if (snap != 1) { - glContext->DrawTunerDigitBox((int)log10(snap), 11, freqDP, freqW, RGB(1.0,0.0,0.0)); + glContext->DrawTunerDigitBox((int)log10(snap), 11, freqDP, freqW, RGB3f(1.0,0.0,0.0)); } } glContext->DrawTuner(bw, 7, bwDP, bwW); diff --git a/src/visual/TuningContext.cpp b/src/visual/TuningContext.cpp index e055cb4..bd9ca4a 100644 --- a/src/visual/TuningContext.cpp +++ b/src/visual/TuningContext.cpp @@ -112,7 +112,7 @@ void TuningContext::DrawTuner(long long freq, int count, float displayPos, float } -void TuningContext::DrawTunerDigitBox(int index, int count, float displayPos, float displayWidth, RGB c) { +void TuningContext::DrawTunerDigitBox(int index, int count, float displayPos, float displayWidth, RGB3f c) { GLint vp[4]; glGetIntegerv( GL_VIEWPORT, vp); @@ -152,7 +152,7 @@ int TuningContext::GetTunerDigitIndex(float mPos, int count, float displayPos, f return count - index; } -void TuningContext::DrawTunerBarIndexed(int start, int end, int count, float displayPos, float displayWidth, RGB color, float alpha, bool top, +void TuningContext::DrawTunerBarIndexed(int start, int end, int count, float displayPos, float displayWidth, RGB3f color, float alpha, bool top, bool bottom) { float ofs = (displayWidth / (float) count); float p2 = displayPos + ofs * (float) (count - start + 1); diff --git a/src/visual/TuningContext.h b/src/visual/TuningContext.h index ee88a37..61dc9f3 100644 --- a/src/visual/TuningContext.h +++ b/src/visual/TuningContext.h @@ -14,9 +14,9 @@ public: void DrawBegin(); void Draw(float r, float g, float b, float a, float p1, float p2); void DrawTuner(long long freq, int count, float displayPos, float displayWidth); - void DrawTunerDigitBox(int index, int count, float displayPos, float displayWidth, RGB c); + void DrawTunerDigitBox(int index, int count, float displayPos, float displayWidth, RGB3f c); int GetTunerDigitIndex(float mPos, int count, float displayPos, float displayWidth); - void DrawTunerBarIndexed(int start, int end, int count, float displayPos, float displayWidth, RGB color, float alpha, bool top, bool bottom); + void DrawTunerBarIndexed(int start, int end, int count, float displayPos, float displayWidth, RGB3f color, float alpha, bool top, bool bottom); void DrawDemodFreqBw(long long freq, unsigned int bw, long long center); void DrawEnd();