mirror of
https://github.com/eried/portapack-mayhem.git
synced 2024-10-01 01:26:06 -04:00
Merge pull request #834 from gullradriel/recon-update
Recon minor update, RSSI widget get 'on touch'
This commit is contained in:
commit
62b9fa2b6a
@ -266,7 +266,7 @@ namespace ui {
|
||||
};
|
||||
|
||||
RSSI rssi {
|
||||
{ 0 * 16, 2 * 16, 15 * 16, 8 },
|
||||
{ 0 * 16, 2 * 16, 240 - 4 * 8 , 16 },
|
||||
};
|
||||
|
||||
Text text_cycle {
|
||||
@ -278,7 +278,7 @@ namespace ui {
|
||||
};
|
||||
|
||||
Text desc_cycle {
|
||||
{0, 4 * 16, 240, 16 },
|
||||
{0, 4 * 16, 240 , 16 },
|
||||
};
|
||||
|
||||
/* BigFrequency big_display { //Show frequency in glamour
|
||||
@ -299,12 +299,12 @@ namespace ui {
|
||||
};
|
||||
|
||||
Button button_recon_setup {
|
||||
{ 240 - 4 * 8 , 2 * 16 + 8 , 4 * 8, 28 },
|
||||
{ 240 - 4 * 8 , 2 * 16 , 4 * 8, 28 },
|
||||
"OPT"
|
||||
};
|
||||
|
||||
Button button_looking_glass {
|
||||
{ 240 - 5 * 8 , 6 * 16 , 5 * 8, 28 },
|
||||
{ 240 - 5 * 8 , 6 * 16 - 4 , 5 * 8, 28 },
|
||||
"GLASS"
|
||||
};
|
||||
|
||||
@ -314,7 +314,7 @@ namespace ui {
|
||||
};
|
||||
|
||||
Text file_name { //Show file used
|
||||
{ 0 , 8 * 16 + 4 , 21 * 8, 16 },
|
||||
{ 0 , 8 * 16 + 6 , 21 * 8, 16 },
|
||||
};
|
||||
|
||||
ButtonWithEncoder button_manual_start {
|
||||
|
@ -32,6 +32,14 @@
|
||||
|
||||
namespace ui {
|
||||
|
||||
RSSI::RSSI(
|
||||
Rect parent_rect,
|
||||
bool instant_exec
|
||||
) : Widget { parent_rect },
|
||||
instant_exec_ { instant_exec }
|
||||
{
|
||||
}
|
||||
|
||||
void RSSI::paint(Painter& painter) {
|
||||
const auto r = screen_rect();
|
||||
|
||||
@ -352,6 +360,9 @@ namespace ui {
|
||||
if( on_touch_press) {
|
||||
on_touch_press(*this);
|
||||
}
|
||||
if( on_select && instant_exec_ ) {
|
||||
on_select(*this);
|
||||
}
|
||||
return true;
|
||||
case TouchEvent::Type::End:
|
||||
set_highlighted(false);
|
||||
@ -359,6 +370,9 @@ namespace ui {
|
||||
if( on_touch_release) {
|
||||
on_touch_release(*this);
|
||||
}
|
||||
if( on_select && !instant_exec_ ) {
|
||||
on_select(*this);
|
||||
}
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -39,12 +39,15 @@ namespace ui {
|
||||
std::function<bool(RSSI&, KeyEvent)> on_dir { };
|
||||
std::function<void(RSSI&)> on_highlight { };
|
||||
|
||||
RSSI(Rect parent_rect, bool instant_exec); // instant_exec: Execute on_select when you touching instead of releasing
|
||||
RSSI(
|
||||
const Rect parent_rect
|
||||
) : Widget { parent_rect },
|
||||
min_ { 0 },
|
||||
avg_ { 0 },
|
||||
max_ { 0 }
|
||||
Rect parent_rect
|
||||
) : RSSI { parent_rect, false }
|
||||
{
|
||||
}
|
||||
|
||||
RSSI(
|
||||
) : RSSI { { }, { } }
|
||||
{
|
||||
}
|
||||
|
||||
@ -54,19 +57,19 @@ namespace ui {
|
||||
int32_t get_delta();
|
||||
void set_vertical_rssi(bool enabled);
|
||||
void set_peak(bool enabled, size_t duration);
|
||||
|
||||
|
||||
void paint(Painter& painter) override;
|
||||
void on_focus() override;
|
||||
bool on_key(const KeyEvent key) override;
|
||||
bool on_touch(const TouchEvent event) override;
|
||||
|
||||
private:
|
||||
int32_t min_;
|
||||
int32_t avg_;
|
||||
int32_t max_;
|
||||
int32_t min_ = 0;
|
||||
int32_t avg_ = 0;
|
||||
int32_t max_ = 0;
|
||||
int32_t peak_ = 0 ;
|
||||
size_t peak_duration_ = 0 ;
|
||||
bool instant_exec_ { false };
|
||||
bool instant_exec_ { false };
|
||||
|
||||
bool pitch_rssi_enabled = false;
|
||||
bool vertical_rssi_enabled = false; // scale [vertically/from bottom to top]
|
||||
|
Loading…
Reference in New Issue
Block a user