diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 0585f3ab7c..3870d29b75 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -254,6 +254,10 @@ Application::Application(int& argc, char** argv, timeval &startup_time) : restoreSizeAndPosition(); loadScripts(); + + QFontDatabase fontDatabase; + fontDatabase.addApplicationFont("resources/styles/Inconsolata.otf"); + _window->setVisible(true); _glWidget->setFocusPolicy(Qt::StrongFocus); _glWidget->setFocus(); @@ -3248,15 +3252,15 @@ void Application::displayStats() { statsHorizontalOffset += 5; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0f, 0, serverNodes, .93f, .93f, .93f); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0f, 2, serverNodes, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0f, 0, avatarNodes, .93f, .93f, .93f); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0f, 2, avatarNodes, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, framesPerSecond); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, framesPerSecond, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, packetsPerSecond); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, packetsPerSecond, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, averageMegabitsPerSecond); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, averageMegabitsPerSecond, .93f, .93f, .93f); statsVerticalOffset = 0; statsHorizontalOffset += 196; @@ -3302,13 +3306,13 @@ void Application::displayStats() { statsHorizontalOffset += 5; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, audioPing); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, audioPing, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, avatarPing); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, avatarPing, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, voxelAvgPing); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, voxelAvgPing, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, voxelMaxPing); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, voxelMaxPing, .93f, .93f, .93f); statsVerticalOffset = 0; statsHorizontalOffset += 246; @@ -3336,13 +3340,13 @@ void Application::displayStats() { statsHorizontalOffset += 5; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, avatarPosition); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, avatarPosition, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, avatarVelocity); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, avatarVelocity, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, avatarBodyYaw); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, avatarBodyYaw, .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, avatarMixerStats); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, avatarMixerStats, .93f, .93f, .93f); statsVerticalOffset = 0; statsHorizontalOffset = _glWidget->width() - 451; @@ -3354,7 +3358,7 @@ void Application::displayStats() { voxelStats.str(""); voxelStats << "Voxels Memory Nodes: " << VoxelTreeElement::getTotalMemoryUsage() / 1000000.f << "MB"; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); voxelStats.str(""); voxelStats << @@ -3364,21 +3368,21 @@ void Application::displayStats() { ? voxelStats << " / GPU: " << _voxels.getVoxelMemoryUsageGPU() / 1000000.f << "MB" : ""; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); // Voxel Rendering voxelStats.str(""); voxelStats.precision(4); voxelStats << "Voxel Rendering Slots Max: " << _voxels.getMaxVoxels() / 1000.f << "K"; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); voxelStats.str(""); voxelStats.precision(4); voxelStats << "Drawn: " << _voxels.getVoxelsWritten() / 1000.f << "K " << "Abandoned: " << _voxels.getAbandonedVoxels() / 1000.f << "K "; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); // iterate all the current voxel stats, and list their sending modes, and total voxel counts std::stringstream sendingMode(""); @@ -3417,7 +3421,7 @@ void Application::displayStats() { sendingMode << " "; } statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)sendingMode.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)sendingMode.str().c_str(), .93f, .93f, .93f); // Incoming packets voxelStats.str(""); @@ -3439,7 +3443,7 @@ void Application::displayStats() { } } statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); statsVerticalOffset += PELS_PER_LINE; @@ -3451,14 +3455,14 @@ void Application::displayStats() { voxelStats.str(""); voxelStats << "Server voxels: " << serversTotalString.toLocal8Bit().constData(); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); voxelStats.str(""); voxelStats << "Internal: " << serversInternalString.toLocal8Bit().constData() << " " << "Leaves: " << serversLeavesString.toLocal8Bit().constData() << ""; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); unsigned long localTotal = VoxelTreeElement::getNodeCount(); unsigned long localInternal = VoxelTreeElement::getInternalNodeCount(); @@ -3471,14 +3475,14 @@ void Application::displayStats() { voxelStats.str(""); voxelStats << "Local voxels: " << localTotalString.toLocal8Bit().constData(); statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); voxelStats.str(""); voxelStats << "Internal: " << localInternalString.toLocal8Bit().constData() << " " << "Leaves: " << localLeavesString.toLocal8Bit().constData() << ""; statsVerticalOffset += PELS_PER_LINE; - drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 0, (char*)voxelStats.str().c_str()); + drawtext(statsHorizontalOffset, statsVerticalOffset, 0.10f, 0, 1.0, 2, (char*)voxelStats.str().c_str(), .93f, .93f, .93f); } void Application::renderThrustAtVoxel(const glm::vec3& thrust) { diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index d64c248546..c5dc9a70a8 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -548,7 +548,7 @@ void Audio::render(int screenWidth, int screenHeight) { if (_audioInput) { glLineWidth(2.0); glBegin(GL_LINES); - glColor3f(1,1,1); + glColor3f(.93f, .93f, .93f); int startX = 20.0; int currentX = startX; @@ -583,9 +583,9 @@ void Audio::render(int screenWidth, int screenHeight) { float msLeftForAudioOutput = (secondsLeftForAudioOutput + secondsLeftForRingBuffer) * 1000; if (_numFramesDisplayStarve == 0) { - glColor3f(0, 1, 0); + glColor3f(0, .8f, .4f); } else { - glColor3f(0.5 + (_numFramesDisplayStarve / 20.0f), 0, 0); + glColor3f(0.5 + (_numFramesDisplayStarve / 20.0f), .2f, .4f); _numFramesDisplayStarve--; } @@ -596,44 +596,44 @@ void Audio::render(int screenWidth, int screenHeight) { } glBegin(GL_QUADS); - glVertex2f(startX, topY + 2); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth, topY + 2); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth, bottomY - 2); - glVertex2f(startX, bottomY - 2); + glVertex2f(startX + 1, topY + 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 1, topY + 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 1, bottomY - 2); + glVertex2f(startX + 1, bottomY - 2); glEnd(); // Show a yellow bar with the averaged msecs latency you are hearing (from time of packet receipt) - glColor3f(1,1,0); + glColor3f(1, .8f, 0); glBegin(GL_QUADS); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 2, topY - 2); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 2, topY - 2); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 2, bottomY + 2); - glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 2, bottomY + 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 1, topY - 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 3, topY - 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth + 3, bottomY + 2); + glVertex2f(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 1, bottomY + 2); glEnd(); char out[40]; sprintf(out, "%3.0f\n", _averagedLatency); - drawtext(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 10, topY - 9, 0.10f, 0, 1, 0, out, 1,1,0); + drawtext(startX + _averagedLatency / AUDIO_CALLBACK_MSECS * frameWidth - 10, topY - 9, 0.10f, 0, 1, 2, out, 1, .8f, 0); // Show a red bar with the 'start' point of one frame plus the jitter buffer - glColor3f(1, 0, 0); + glColor3f(1, .2f, .4f); int jitterBufferPels = (1.f + (float)getJitterBufferSamples() / (float) NETWORK_BUFFER_LENGTH_SAMPLES_PER_CHANNEL) * frameWidth; sprintf(out, "%.0f\n", getJitterBufferSamples() / SAMPLE_RATE * 1000.f); - drawtext(startX + jitterBufferPels - 5, topY - 9, 0.10f, 0, 1, 0, out, 1, 0, 0); + drawtext(startX + jitterBufferPels - 5, topY - 9, 0.10f, 0, 1, 2, out, 1, .2f, .4f); sprintf(out, "j %.1f\n", _measuredJitter); if (Menu::getInstance()->getAudioJitterBufferSamples() == 0) { - drawtext(startX + jitterBufferPels - 5, bottomY + 12, 0.10f, 0, 1, 0, out, 1, 0, 0); + drawtext(startX + jitterBufferPels - 5, bottomY + 12, 0.10f, 0, 1, 2, out, 1, .2f, .4f); } else { - drawtext(startX, bottomY + 12, 0.10f, 0, 1, 0, out, 1, 0, 0); + drawtext(startX, bottomY + 12, 0.10f, 0, 1, 2, out, 1, .2f, .4f); } glBegin(GL_QUADS); - glVertex2f(startX + jitterBufferPels - 2, topY - 2); - glVertex2f(startX + jitterBufferPels + 2, topY - 2); - glVertex2f(startX + jitterBufferPels + 2, bottomY + 2); - glVertex2f(startX + jitterBufferPels - 2, bottomY + 2); + glVertex2f(startX + jitterBufferPels - 1, topY - 2); + glVertex2f(startX + jitterBufferPels + 3, topY - 2); + glVertex2f(startX + jitterBufferPels + 3, bottomY + 2); + glVertex2f(startX + jitterBufferPels - 1, bottomY + 2); glEnd(); } @@ -743,7 +743,7 @@ void Audio::renderToolIcon(int screenHeight) { glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, _micTextureId); - glColor3f(1, 1, 1); + glColor3f(.93f, .93f, .93f); glBegin(GL_QUADS); glTexCoord2f(1, 1); diff --git a/interface/src/BandwidthMeter.cpp b/interface/src/BandwidthMeter.cpp index 53d3698fde..d8081e186f 100644 --- a/interface/src/BandwidthMeter.cpp +++ b/interface/src/BandwidthMeter.cpp @@ -23,7 +23,7 @@ namespace { // .cpp-local int SPACING_LEFT_CAPTION_UNIT = 4; // |######## : | <--> UNIT int PADDING_HORIZ_VALUE = 2; // |<-->X.XX<:-># | - unsigned const COLOR_TEXT = 0xe0e0e0e0; // ^ ^ ^ ^ ^ ^ + unsigned const COLOR_TEXT = 0xedededff; // ^ ^ ^ ^ ^ ^ unsigned const COLOR_FRAME = 0xe0e0e0b0; // | | | unsigned const COLOR_INDICATOR = 0xc0c0c0b0; // | @@ -38,13 +38,13 @@ namespace { // .cpp-local } BandwidthMeter::ChannelInfo BandwidthMeter::_CHANNELS[] = { - { "Audio" , "Kbps", 8000.0 / 1024.0, 0x40ff40d0 }, + { "Audio" , "Kbps", 8000.0 / 1024.0, 0x33cc99ff }, { "Avatars" , "Kbps", 8000.0 / 1024.0, 0xffef40c0 }, { "Voxels" , "Kbps", 8000.0 / 1024.0, 0xd0d0d0a0 } }; BandwidthMeter::BandwidthMeter() : - _textRenderer(SANS_FONT_FAMILY, -1, -1, false, TextRenderer::SHADOW_EFFECT), + _textRenderer(INCONSOLATA_FONT_FAMILY, -1, QFont::Bold, false), _scaleMaxIndex(INITIAL_SCALE_MAXIMUM_INDEX) { _channels = static_cast( malloc(sizeof(_CHANNELS)) ); diff --git a/interface/src/Util.cpp b/interface/src/Util.cpp index ffee4c7879..a2e518b2d7 100644 --- a/interface/src/Util.cpp +++ b/interface/src/Util.cpp @@ -373,9 +373,18 @@ const glm::vec3 randVector() { } static TextRenderer* textRenderer(int mono) { - static TextRenderer* monoRenderer = new TextRenderer(MONO_FONT_FAMILY); - static TextRenderer* proportionalRenderer = new TextRenderer(SANS_FONT_FAMILY, -1, -1, false, TextRenderer::SHADOW_EFFECT); - return mono ? monoRenderer : proportionalRenderer; + static TextRenderer* monoRenderer = new TextRenderer(MONO_FONT_FAMILY); + static TextRenderer* proportionalRenderer = new TextRenderer(SANS_FONT_FAMILY, -1, -1, false, TextRenderer::SHADOW_EFFECT); + static TextRenderer* inconsolataRenderer = new TextRenderer(INCONSOLATA_FONT_FAMILY, -1, QFont::Bold, false); + switch (mono) { + case 1: + return monoRenderer; + case 2: + return inconsolataRenderer; + case 0: + default: + return proportionalRenderer; + } } int widthText(float scale, int mono, char const* string) { diff --git a/interface/src/Util.h b/interface/src/Util.h index 19509f8254..2a812120f0 100644 --- a/interface/src/Util.h +++ b/interface/src/Util.h @@ -25,6 +25,9 @@ // the standard mono font family #define MONO_FONT_FAMILY "Courier" +// the Inconsolata font family +#define INCONSOLATA_FONT_FAMILY "Inconsolata" + void eulerToOrthonormals(glm::vec3 * angles, glm::vec3 * fwd, glm::vec3 * left, glm::vec3 * up); float azimuth_to(glm::vec3 head_pos, glm::vec3 source_pos);