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
NOTE: This library is in beta right now. As far as I know, everything here works, but there are many features that are lacking so far. Most notably containers, button handling, and display drivers other than the SSD1306.
Controls/ProgressBar.cpp
- Committer:
- neilt6
- Date:
- 2014-05-27
- Revision:
- 3:a8f72d4864e6
- Parent:
- 2:bbfc18022ee5
File content as of revision 3:a8f72d4864e6:
/* NeatGUI Library * Copyright (c) 2014 Neil Thiessen * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "ProgressBar.h" ProgressBar::ProgressBar(int x, int y, int w, int h, Font *fnt) : Control(x, y, w, h) { m_Value = 0.0; text(NULL); font(fnt); border(1); padding(1); foreColor(0xFFFFFFFF); backColor(0xFF000000); } float ProgressBar::value() { //Return the current value return m_Value; } void ProgressBar::value(float v) { //Update the value with range-limiting if (v < 0) m_Value = 0; else if (v > 100) m_Value = 100; else m_Value = v; //Force a repaint invalidate(); } void ProgressBar::paint(Canvas* canvas) { //Paint the base class Control::paint(canvas); //Draw the progress bar canvas->fillRect(contentPosX(), contentPosY(), contentWidth() * m_Value, contentHeight(), foreColor()); }