File: home.cpp

package info (click to toggle)
ares 126-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 32,600 kB
  • sloc: cpp: 356,508; ansic: 20,394; makefile: 16; sh: 2
file content (30 lines) | stat: -rw-r--r-- 910 bytes parent folder | download | duplicates (4)
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
auto HomePanel::construct() -> void {
  setCollapsible();
  setVisible(false);

  image icon{Resource::Ares::Icon1x};
  image icon2x{Resource::Ares::Icon2x};
  icon.shrink();
  icon2x.shrink();
  for(u32 y : range(icon.height())) {
    auto data = icon.data() + y * icon.pitch();
    for(u32 x : range(icon.width())) {
      u8 alpha = icon.read(data) >> 24;
      icon.write(data, u8(alpha * 0.15) << 24);
      data += icon.stride();
    }
  }
    
  for(u32 y : range(icon2x.height())) {
    auto data = icon2x.data() + y * icon2x.pitch();
    for(u32 x : range(icon2x.width())) {
      u8 alpha = icon2x.read(data) >> 24;
      icon2x.write(data, u8(alpha * 0.15) << 24);
      data += icon2x.stride();
    }
  }
    
  icon.scale(sx(icon.width() * 0.75), sy(icon.height() * 0.75));
  icon2x.scale(sx(icon2x.width() * 0.75), sy(icon2x.height() * 0.75));
  canvas.setIcon(multiFactorImage(icon, icon2x));
}