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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ProgressBar.h Source File

ProgressBar.h

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 #ifndef PROGRESS_BAR_H
00018 #define PROGRESS_BAR_H
00019 
00020 #include "mbed.h"
00021 #include "Control.h"
00022 #include "Font.h"
00023 
00024 /** ProgressBar class.
00025  *  Used to a percentage as a bar.
00026  */
00027 class ProgressBar : public Control
00028 {
00029 public:
00030     /** Create a ProgressBar object with the specified size, position, and font
00031      *
00032      * @param x The X coordinate of the ProgressBar.
00033      * @param y The Y coordinate of the ProgressBar.
00034      * @param w The width of the ProgressBar.
00035      * @param h The height of the ProgressBar.
00036      * @param fnt The font to draw text with.
00037      */
00038     ProgressBar(int x, int y, int w, int h, Font *fnt);
00039 
00040     /** Get the current value of the ProgressBar
00041      *
00042      * @returns The current value as a percentage (0.0 to 1.0).
00043      */
00044     float value();
00045 
00046     /** Set the value of the ProgressBar
00047      *
00048      * @param v The new progress bar value as a percentage (0.0 to 1.0).
00049      */
00050     void value(float v);
00051 
00052     /** Paint the ProgressBar on the specified canvas
00053     *
00054     * @param canvas Pointer to the canvas to paint on.
00055     */
00056     virtual void paint(Canvas* canvas);
00057 
00058 protected:
00059     //Internal variables
00060     float m_Value;
00061 };
00062 
00063 #endif