feat: metadata overlay tweaks — location badge, rounded corners, translucent option
- Location gets its own badge in the lower-left corner (separate from the main date/time/people/camera badge at the configured position) - All overlay badges now use rounded corners (radius 4px) via fillRoundRect instead of fillRect - New setting: 'Translucent background?' checkbox in web UI When enabled, badge backgrounds use a checkerboard pattern (every other pixel black) instead of solid black, creating a 50% opacity effect that lets the underlying image show through - Refactored all badge drawing through a single drawOverlayBadge() helper (metadata, sleep indicator, battery indicator) Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -287,6 +287,7 @@ void AppWebServer::handleGetSettings(AsyncWebServerRequest* request) {
|
||||
doc["time_fmt"] = s.time_fmt;
|
||||
doc["pipeline_mode"] = s.pipeline_mode;
|
||||
doc["dither_noise"] = s.dither_noise;
|
||||
doc["meta_translucent"] = s.meta_translucent;
|
||||
doc["led_brightness"] = s.led_brightness;
|
||||
doc["show_battery"] = s.show_battery;
|
||||
doc["immich_url"] = s.immich_url;
|
||||
@@ -318,6 +319,7 @@ void AppWebServer::handlePostSettings(AsyncWebServerRequest* request,
|
||||
if (!doc["time_fmt"].isNull()) s.time_fmt = doc["time_fmt"].as<String>();
|
||||
if (!doc["pipeline_mode"].isNull()) s.pipeline_mode = doc["pipeline_mode"];
|
||||
if (!doc["dither_noise"].isNull()) s.dither_noise = doc["dither_noise"];
|
||||
if (!doc["meta_translucent"].isNull()) s.meta_translucent = doc["meta_translucent"];
|
||||
if (!doc["led_brightness"].isNull()) s.led_brightness = doc["led_brightness"];
|
||||
if (!doc["show_battery"].isNull()) s.show_battery = doc["show_battery"];
|
||||
if (!doc["immich_url"].isNull()) s.immich_url = doc["immich_url"].as<String>();
|
||||
|
||||
Reference in New Issue
Block a user