mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-21 23:00:45 +01:00
[apps/shared] Create an OK view
Change-Id: I516e4df9ef6f37a356ee42c2c9d34582905ab4cb
This commit is contained in:
@@ -24,6 +24,7 @@ app_objs += $(addprefix apps/shared/,\
|
||||
list_parameter_controller.o\
|
||||
memoized_curve_view_range.o\
|
||||
new_function_cell.o\
|
||||
ok_view.o\
|
||||
range_parameter_controller.o\
|
||||
store_controller.o\
|
||||
store_parameter_controller.o\
|
||||
|
||||
42
apps/shared/ok_view.cpp
Normal file
42
apps/shared/ok_view.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "ok_view.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
const uint8_t okMask[OkView::k_okSize][OkView::k_okSize] = {
|
||||
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0xE1, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0xE1, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xFF, 0xFF},
|
||||
{0xFF, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0xFF},
|
||||
{0xE1, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0xE1},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0x00, 0x0C, 0xE1, 0xFF, 0x00, 0xFF, 0xFF, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, 0xE1, 0x45, 0x0C, 0xFF, 0x00, 0xFF, 0x0C, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xE1, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xE1, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x0C, 0xE1, 0x45, 0x0C, 0xFF, 0x00, 0xFF, 0x0C, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0x00, 0x0C, 0xE1, 0xFF, 0x00, 0xFF, 0xFF, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C},
|
||||
{0xE1, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0xE1},
|
||||
{0xFF, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0xFF},
|
||||
{0xFF, 0xFF, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0xE1, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0xE1, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0xFF, 0xFF, 0x0C, 0x45, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x45, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
{0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
|
||||
};
|
||||
|
||||
KDColor s_okWorkingBuffer[OkView::k_okSize*OkView::k_okSize];
|
||||
|
||||
void OkView::drawRect(KDContext * ctx, KDRect rect) const {
|
||||
KDCoordinate width = bounds().width();
|
||||
KDCoordinate height = bounds().height();
|
||||
KDRect frame((width-k_okSize)/2, (height-k_okSize)/2, k_okSize, k_okSize);
|
||||
ctx->blendRectWithMask(frame, KDColorBlack, (const uint8_t *)okMask, s_okWorkingBuffer);
|
||||
}
|
||||
|
||||
KDSize OkView::minimalSizeForOptimalDisplay() {
|
||||
return KDSize(k_okSize, k_okSize);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
19
apps/shared/ok_view.h
Normal file
19
apps/shared/ok_view.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef SHARED_OK_VIEW_H
|
||||
#define SHARED_OK_VIEW_H
|
||||
|
||||
#include <escher.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class OkView : public View {
|
||||
public:
|
||||
using View::View;
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
KDSize minimalSizeForOptimalDisplay() override;
|
||||
constexpr static KDCoordinate k_okSize = 20;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user