A simple yet powerful library for controlling graphical displays. Multiple display controllers are supported using inheritance.
Dependents: mbed_rifletool Hexi_Bubble_Game Hexi_Catch-the-dot_Game Hexi_Acceleromagnetic_Synth
ProgressBar.cpp
00001 /* NeatGUI Library 00002 * Copyright (c) 2014 Neil Thiessen 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #include "ProgressBar.h" 00018 00019 ProgressBar::ProgressBar(int x, int y, int w, int h, Font *fnt) : Control(x, y, w, h) 00020 { 00021 m_Value = 0.0; 00022 text(NULL); 00023 font(fnt); 00024 border(1); 00025 padding(1); 00026 foreColor(0xFFFFFFFF); 00027 backColor(0xFF000000); 00028 } 00029 00030 float ProgressBar::value() 00031 { 00032 //Return the current value 00033 return m_Value; 00034 } 00035 00036 void ProgressBar::value(float v) 00037 { 00038 //Update the value with range-limiting 00039 if (v < 0) 00040 m_Value = 0; 00041 else if (v > 100) 00042 m_Value = 100; 00043 else 00044 m_Value = v; 00045 00046 //Force a repaint 00047 invalidate(); 00048 } 00049 00050 void ProgressBar::paint(Canvas* canvas) 00051 { 00052 //Paint the base class 00053 Control::paint(canvas); 00054 00055 //Draw the progress bar 00056 canvas->fillRect(contentPosX(), contentPosY(), contentWidth() * m_Value, contentHeight(), foreColor()); 00057 }
Generated on Tue Jul 12 2022 20:26:18 by 1.7.2