platform_system_core/healthd/animation.h

74 lines
1.7 KiB
C++

/*
* Copyright (C) 2016 The Android Open Source Project
*
* 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.
*/
#ifndef HEALTHD_ANIMATION_H
#define HEALTHD_ANIMATION_H
#include <inttypes.h>
#include <string>
struct GRSurface;
struct GRFont;
namespace android {
#define CENTER_VAL INT_MAX
struct animation {
struct frame {
int disp_time;
int min_level;
int max_level;
GRSurface* surface;
};
struct text_field {
std::string font_file;
int pos_x;
int pos_y;
int color_r;
int color_g;
int color_b;
int color_a;
GRFont* font;
};
std::string animation_file;
std::string fail_file;
text_field text_clock;
text_field text_percent;
bool run;
frame* frames;
int cur_frame;
int num_frames;
int first_frame_repeats; // Number of times to repeat the first frame in the current cycle
int cur_cycle;
int num_cycles; // Number of cycles to complete before blanking the screen
int cur_level; // current battery level being animated (0-100)
int cur_status; // current battery status - see BatteryService.h for BATTERY_STATUS_*
};
}
#endif // HEALTHD_ANIMATION_H