Blame view

emulateur/epsilon-nofrendo/apps/shared/ok_view.cpp 2.99 KB
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  #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() const {
    return KDSize(k_okSize, k_okSize);
  }
  
  }