App 2.35.2: a round full-screen button; THEMES.md with every Overview style
The full-screen button's disc was an oval (an even inset in a 64 x 72 dp area); the area is now a square 72 dp, pulled into the panel's padding so the logo keeps its line. THEMES.md shows the twelve Overview styles, each with and without the navigation (emulator, sample values), with what inspired each; linked from README.md and AGENTS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6
@@ -137,6 +137,7 @@ cd server && go vet ./... && go test ./... && govulncheck ./...
|
|||||||
|---|---|
|
|---|---|
|
||||||
| `SPECS.md` | journal: architecture, status, signals the car lacks, to-dos, dated done-log |
|
| `SPECS.md` | journal: architecture, status, signals the car lacks, to-dos, dated done-log |
|
||||||
| `README.md` | user-facing overview, install, setup, config file |
|
| `README.md` | user-facing overview, install, setup, config file |
|
||||||
|
| `THEMES.md` | the Overview styles: two screenshots each (`screenshots/themes/`, sample values) and what inspired them |
|
||||||
| `OTA.md` | releases, the updater's checks, USB install |
|
| `OTA.md` | releases, the updater's checks, USB install |
|
||||||
| `FIRMWARE.md` | the head unit, firmware generations, display |
|
| `FIRMWARE.md` | the head unit, firmware generations, display |
|
||||||
| `server/README.md`, `k8s/README.md` | API, configuration, deployment |
|
| `server/README.md`, `k8s/README.md` | API, configuration, deployment |
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ APIs.
|
|||||||
## Contents
|
## Contents
|
||||||
|
|
||||||
- [Screenshots](#screenshots)
|
- [Screenshots](#screenshots)
|
||||||
|
- [Overview styles](THEMES.md) (separate page)
|
||||||
- [How it fits together](#how-it-fits-together)
|
- [How it fits together](#how-it-fits-together)
|
||||||
- [The app](#the-app)
|
- [The app](#the-app)
|
||||||
- [Install on the car](#install-on-the-car)
|
- [Install on the car](#install-on-the-car)
|
||||||
@@ -38,6 +39,14 @@ APIs.
|
|||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
**Overview styles:** the Overview comes in twelve looks, from an 80s fluorescent display to a
|
||||||
|
starship console and a watch face. [THEMES.md](THEMES.md) shows each one, with and without the
|
||||||
|
navigation, and what inspired it.
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="THEMES.md"><img src="screenshots/themes/retro.png" width="900" alt="The Retro Overview style in full screen: turquoise seven-segment digits for speed, charge, range and usage, amber labels"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
Version 2.18.1 in the car's app window (1778×640 dp next to the MG4's own sidebar), full screen,
|
Version 2.18.1 in the car's app window (1778×640 dp next to the MG4's own sidebar), full screen,
|
||||||
on the Android 9 emulator. There is no vehicle there, so every value shows as a dash. Every tab
|
on the Android 9 emulator. There is no vehicle there, so every value shows as a dash. Every tab
|
||||||
fits the window without scrolling.
|
fits the window without scrolling.
|
||||||
@@ -79,7 +88,7 @@ with the server using a token of its own, obtained by pairing with a phone (belo
|
|||||||
|
|
||||||
| Tab | What it shows |
|
| Tab | What it shows |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes and Chronograph. A style with its own colours (Sci-fi, Cartoon, Nixie tubes, and Retro and Terminal with "Original") colours the whole app to match, e.g. turquoise for Retro. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways |
|
| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes and Chronograph ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, and Retro and Terminal with "Original") colours the whole app to match, e.g. turquoise for Retro. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways |
|
||||||
| **Consumption** | Lifetime, last 7 and 30 days, Trip A and B (distance, energy, average consumption and speed, SOC change), and a daily log of the last four months |
|
| **Consumption** | Lifetime, last 7 and 30 days, Trip A and B (distance, energy, average consumption and speed, SOC change), and a daily log of the last four months |
|
||||||
| **Charging** | The current session (SOC, voltage, current, power, energy into the battery and from the grid, time, cost) and its SOC/power curve |
|
| **Charging** | The current session (SOC, voltage, current, power, energy into the battery and from the grid, time, cost) and its SOC/power curve |
|
||||||
| **Live data** | Live data on/off, ABRP credentials for sending directly from the car, upload frequency |
|
| **Live data** | Live data on/off, ABRP credentials for sending directly from the car, upload frequency |
|
||||||
@@ -246,6 +255,7 @@ flake.nix dev shell, build-car, publish-car, car-emulator
|
|||||||
|
|
||||||
| Document | What it covers |
|
| Document | What it covers |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
| [THEMES.md](THEMES.md) | The Overview styles: screenshots and what inspired each |
|
||||||
| [SPECS.md](SPECS.md) | Journal of this fork: architecture, status, to-dos, done log |
|
| [SPECS.md](SPECS.md) | Journal of this fork: architecture, status, to-dos, done log |
|
||||||
| [OTA.md](OTA.md) | Publishing releases, the updater's checks, USB install |
|
| [OTA.md](OTA.md) | Publishing releases, the updater's checks, USB install |
|
||||||
| [FIRMWARE.md](FIRMWARE.md) | MG4 firmware generations and how the app reads each |
|
| [FIRMWARE.md](FIRMWARE.md) | MG4 firmware generations and how the app reads each |
|
||||||
|
|||||||
@@ -138,6 +138,14 @@ tyre pressures, GPS (lat, lon, elevation, heading) and the is_* flags. It does *
|
|||||||
confirmed car facts, app structure, UI conventions, build/test/ship, documents. It replaces
|
confirmed car facts, app structure, UI conventions, build/test/ship, documents. It replaces
|
||||||
upstream's EVABRPUploader text. The test emulator is now in the flake: `nix run .#car-emulator`
|
upstream's EVABRPUploader text. The test emulator is now in the flake: `nix run .#car-emulator`
|
||||||
(Android 9 AOSP at 1920×720, 160 dpi; the car build installs as the system user — checked).
|
(Android 9 AOSP at 1920×720, 160 dpi; the car build installs as the system user — checked).
|
||||||
|
- 2026-10-25 — App 2.35.2: the full-screen button is round. Its disc was an even inset in a
|
||||||
|
64 × 72 dp (narrow: 64 × 76) area, so an oval; the area is now a square 72 × 72 dp (inset
|
||||||
|
18 dp, a 36 dp disc), pulled 8 dp into the panel's padding in the wide layout so "MG4" keeps
|
||||||
|
its line. **THEMES.md**: the twelve Overview styles, each with and without the navigation
|
||||||
|
(`screenshots/themes/`, 1920 × 720 from the emulator with sample values from a throwaway build,
|
||||||
|
never committed), with what inspired each and how it takes colour; linked from README.md
|
||||||
|
(Screenshots, Contents, Project documents) and AGENTS.md. Emulator: the round button, the
|
||||||
|
header with "MG4" on one line. Not tried on the car.
|
||||||
- 2026-10-25 — App 2.35.1: **Aviation removed** (owner's choice: `AviationView`, its palette and
|
- 2026-10-25 — App 2.35.1: **Aviation removed** (owner's choice: `AviationView`, its palette and
|
||||||
string; a stored "AVIATION" opens Tiles). The Sci-fi palette for the app is now the lilac of
|
string; a stored "AVIATION" opens Tiles). The Sci-fi palette for the app is now the lilac of
|
||||||
the console frame's lower elbow (`scifi_lilac` #CC99CC) instead of the orange of the upper one.
|
the console frame's lower elbow (`scifi_lilac` #CC99CC) instead of the orange of the upper one.
|
||||||
|
|||||||
@@ -0,0 +1,145 @@
|
|||||||
|
# Overview styles
|
||||||
|
|
||||||
|
The Overview can look twelve ways: pick one under **Settings → Overview style**. Every style shows
|
||||||
|
the same readings (battery, range, power, speed, gear, usage, trip, climate, odometer, time) and
|
||||||
|
shows "—" for anything the car did not answer, never a made-up zero.
|
||||||
|
|
||||||
|
Each style has two screenshots: with the navigation, and in the Overview's own full screen (the
|
||||||
|
button beside the MG4 logo; swipe in from the left edge to come back). They come from the test
|
||||||
|
emulator at the car's resolution with **sample values** (87 km/h in D, 76 %, 18.4 kW), since the
|
||||||
|
emulator has no car; on the car the values are live.
|
||||||
|
|
||||||
|
**Colours.** Most styles are drawn in the accent colour you pick from the MG4 paints (Settings →
|
||||||
|
Accent colour; shown here in Dynamic Red). Retro and Terminal can also show their original
|
||||||
|
colours, and Sci-fi, Cartoon and Nixie tubes always do; while one of those is shown, the whole app
|
||||||
|
(navigation, buttons, switches) takes on its colours too.
|
||||||
|
|
||||||
|
| Style | Look | Colours |
|
||||||
|
|---|---|---|
|
||||||
|
| [Tiles](#tiles) | the app's own cards | accent |
|
||||||
|
| [Gauges](#gauges) | analogue needles | accent |
|
||||||
|
| [Cockpit](#cockpit) | segment rings, power trace | accent |
|
||||||
|
| [Retro](#retro) | 80s fluorescent display | original or accent |
|
||||||
|
| [Futuristic](#futuristic) | holographic HUD, energy flow | accent |
|
||||||
|
| [Sci-fi](#sci-fi) | starship console | own |
|
||||||
|
| [Cartoon](#cartoon) | comic panels | own |
|
||||||
|
| [MG](#mg) | octagonal MG dials | accent |
|
||||||
|
| [Minimal](#minimal) | one big number | accent |
|
||||||
|
| [Terminal](#terminal) | green-screen shell | original or accent |
|
||||||
|
| [Nixie tubes](#nixie-tubes) | glowing glass tubes | own |
|
||||||
|
| [Chronograph](#chronograph) | a watch face | accent |
|
||||||
|
|
||||||
|
## Tiles
|
||||||
|
|
||||||
|
The app's original look, from the design it was forked from: glass cards on OLED black, one tile
|
||||||
|
per value, with the averages over the last five minutes and since the start, vehicle info (with
|
||||||
|
the lease allowance) and the tyre pressures on a little top view of the car. The most
|
||||||
|
information on one screen.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Gauges
|
||||||
|
|
||||||
|
Three round instruments with needles, like a classic analogue dashboard: power on the left,
|
||||||
|
speed in the middle, charge on the right (E to F), and a strip below with gear, climate, time,
|
||||||
|
usage and a small battery. The needles glide to new values instead of jumping.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Cockpit
|
||||||
|
|
||||||
|
After the digital clusters of modern EVs: rings of lit segments for battery, power and usage.
|
||||||
|
The power ring in the middle is centred on zero (regeneration lights up anticlockwise in green)
|
||||||
|
and carries the speed and gear inside it; along the bottom, a strip with the power of the last
|
||||||
|
two minutes.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Retro
|
||||||
|
|
||||||
|
An 80s digital dashboard: a vacuum fluorescent display behind smoked glass, as in the
|
||||||
|
digital-instrument cars of that decade. Slanted seven-segment digits with the unlit segments
|
||||||
|
faintly visible, bar graphs for charge and power, amber labels and a lit P R N D. In its original
|
||||||
|
turquoise (shown) or in the accent colour.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Futuristic
|
||||||
|
|
||||||
|
A holographic head-up display in hairlines: the battery as a capsule on the left, the speed in a
|
||||||
|
ring of dashes that turns with it on the right, and between them an energy channel in which
|
||||||
|
particles flow from the battery to the wheels while driving, and back in green while
|
||||||
|
regenerating, faster with more power.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Sci-fi
|
||||||
|
|
||||||
|
A starship console, after the look of the computer screens in 90s science-fiction TV: rounded
|
||||||
|
"elbow" frames in orange and lilac, pill-shaped labels, condensed capitals and blocky bar graphs
|
||||||
|
on black. Below 20 % charge the frames turn red: red alert. The app takes on the lilac of the
|
||||||
|
lower frame.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Cartoon
|
||||||
|
|
||||||
|
Comic panels in flat colours with thick ink outlines on a night-blue page: a battery with a face
|
||||||
|
(happy, unsure, then worried and sweating as it empties), a chunky speedometer whose needle
|
||||||
|
wobbles into place, and the "zap-o-meter" for power with a sound word: PURR, VROOM, ZOOM! or
|
||||||
|
RECHARGE! while regenerating.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## MG
|
||||||
|
|
||||||
|
After the classic MG dashboards, whose dials sat in octagonal bezels: three octagonal dials with
|
||||||
|
chrome rims and cream scales (battery, speed, power), needles in the accent colour, and a line of
|
||||||
|
odometer, trip, usage, climate and time separated by small octagons.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Minimal
|
||||||
|
|
||||||
|
One number and almost nothing else: the speed, very large and thin, the gear above it, power as a
|
||||||
|
short line growing from the centre, and the battery as a hairline along the bottom edge. For calm
|
||||||
|
driving.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Terminal
|
||||||
|
|
||||||
|
As if a shell printed the car's state: `watch -n 0.2 vehicle-status` on a green-phosphor screen
|
||||||
|
with faint scan lines, each value on a row with an ASCII bar, the gear as `[D]`, and a prompt with
|
||||||
|
a blinking cursor. A low battery turns its row amber. In green (shown) or in the accent colour.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Nixie tubes
|
||||||
|
|
||||||
|
The glow of nixie tubes, the neon number displays of 50s to 70s lab instruments: orange digits in
|
||||||
|
glass tubes, the unlit numerals faintly behind the lit one, on a dark walnut panel with brass name
|
||||||
|
plates. Speed, gear and battery on top; power, range, usage and the time below.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Chronograph
|
||||||
|
|
||||||
|
A watch face, after a chronograph wristwatch: a deep-blue dial with a steel bezel carrying the
|
||||||
|
speed scale, the long main hand for the speed, sub-dials for battery, power and usage, and the
|
||||||
|
gear in a date window. Engraved columns either side carry range, trip, time, climate and
|
||||||
|
odometer.
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
@@ -34,8 +34,8 @@ android {
|
|||||||
applicationId "com.stinnesbeck.nilsmg4"
|
applicationId "com.stinnesbeck.nilsmg4"
|
||||||
minSdk 27
|
minSdk 27
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 136
|
versionCode 137
|
||||||
versionName "2.35.1"
|
versionName "2.35.2"
|
||||||
|
|
||||||
// Nothing about the server ships in the APK: its URL and ingest token are entered in
|
// Nothing about the server ships in the APK: its URL and ingest token are entered in
|
||||||
// the app's Server tab (ServerConfig), and the database is only reachable by the server.
|
// the app's Server tab (ServerConfig), and the database is only reachable by the server.
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- The full-screen button in the navigation: a small dark disc inside its touch area. -->
|
<!-- The full-screen button in the navigation: a small dark disc inside its square 72 dp touch
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:inset="16dp">
|
area (square, or the oval is not a circle). -->
|
||||||
|
<inset xmlns:android="http://schemas.android.com/apk/res/android" android:inset="18dp">
|
||||||
<shape android:shape="oval">
|
<shape android:shape="oval">
|
||||||
<solid android:color="#99121212" />
|
<solid android:color="#99121212" />
|
||||||
<stroke android:width="1dp" android:color="@color/ev_outline" />
|
<stroke android:width="1dp" android:color="@color/ev_outline" />
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/design_brand" android:textAppearance="@style/Text.EV.Hero" android:textColor="?attr/evAccent" android:paddingStart="14dp" android:paddingTop="8dp" />
|
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/design_brand" android:textAppearance="@style/Text.EV.Hero" android:textColor="?attr/evAccent" android:paddingStart="14dp" android:paddingTop="8dp" />
|
||||||
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/design_brand_caption" android:textAppearance="@style/Text.EV.Secondary" android:paddingStart="14dp" />
|
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/design_brand_caption" android:textAppearance="@style/Text.EV.Secondary" android:paddingStart="14dp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<ImageButton android:id="@+id/overview_fullscreen" android:layout_width="64dp" android:layout_height="72dp" android:background="@drawable/bg_fullscreen_button" android:src="@drawable/ic_fullscreen" android:padding="22dp" android:scaleType="fitCenter" android:contentDescription="@string/overview_fullscreen_enter" />
|
<ImageButton android:id="@+id/overview_fullscreen" android:layout_width="72dp" android:layout_height="72dp" android:layout_marginEnd="-8dp" android:background="@drawable/bg_fullscreen_button" android:src="@drawable/ic_fullscreen" android:padding="26dp" android:scaleType="fitCenter" android:contentDescription="@string/overview_fullscreen_enter" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
<com.google.android.material.button.MaterialButton android:id="@+id/tabVehicle" style="@style/Widget.EV.NavTab" android:layout_width="match_parent" android:layout_height="64dp" android:layout_marginBottom="6dp" android:text="@string/tab_vehicle" app:icon="@drawable/ic_tab_vehicle" />
|
<com.google.android.material.button.MaterialButton android:id="@+id/tabVehicle" style="@style/Widget.EV.NavTab" android:layout_width="match_parent" android:layout_height="64dp" android:layout_marginBottom="6dp" android:text="@string/tab_vehicle" app:icon="@drawable/ic_tab_vehicle" />
|
||||||
<com.google.android.material.button.MaterialButton android:id="@+id/tabConsumption" style="@style/Widget.EV.NavTab" android:layout_width="match_parent" android:layout_height="64dp" android:layout_marginBottom="6dp" android:text="@string/tab_consumption" app:icon="@drawable/ic_tab_vehicle" />
|
<com.google.android.material.button.MaterialButton android:id="@+id/tabConsumption" style="@style/Widget.EV.NavTab" android:layout_width="match_parent" android:layout_height="64dp" android:layout_marginBottom="6dp" android:text="@string/tab_consumption" app:icon="@drawable/ic_tab_vehicle" />
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<com.google.android.material.button.MaterialButton android:id="@+id/tabServer" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_server" app:icon="@drawable/ic_tab_server"/>
|
<com.google.android.material.button.MaterialButton android:id="@+id/tabServer" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_server" app:icon="@drawable/ic_tab_server"/>
|
||||||
<com.google.android.material.button.MaterialButton android:id="@+id/tabSettings" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_settings" app:icon="@drawable/ic_tab_service"/>
|
<com.google.android.material.button.MaterialButton android:id="@+id/tabSettings" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_settings" app:icon="@drawable/ic_tab_service"/>
|
||||||
<com.google.android.material.button.MaterialButton android:id="@+id/tabLog" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_log" app:icon="@drawable/ic_tab_log"/>
|
<com.google.android.material.button.MaterialButton android:id="@+id/tabLog" style="@style/Widget.EV.NavTab.Compact" android:layout_width="0dp" android:layout_height="76dp" android:layout_weight="1" android:text="@string/tab_log" app:icon="@drawable/ic_tab_log"/>
|
||||||
<ImageButton android:id="@+id/overview_fullscreen" android:layout_width="64dp" android:layout_height="76dp" android:background="@drawable/bg_fullscreen_button" android:src="@drawable/ic_fullscreen" android:padding="22dp" android:scaleType="fitCenter" android:contentDescription="@string/overview_fullscreen_enter"/>
|
<ImageButton android:id="@+id/overview_fullscreen" android:layout_width="72dp" android:layout_height="72dp" android:layout_gravity="center_vertical" android:background="@drawable/bg_fullscreen_button" android:src="@drawable/ic_fullscreen" android:padding="26dp" android:scaleType="fitCenter" android:contentDescription="@string/overview_fullscreen_enter"/>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 48 KiB |