Przejdź do treści

Przegląd edytora ​

Ta strona to kompletny opis interfejsu edytora Lopaka. Każda główna sekcja ma osobny przewodnik, do którego prowadzą linki przy poniższych nagłówkach. Skorzystaj z tej strony, aby się zorientować i znaleźć szczegółowe informacje.

Układ ​

Edytor łączy drzewo warstw projektu, obszar roboczy i panel kodu:

┌──────────┬──────────────────────────┬─────────────┐
│          │        Top bar           │             │
│  Layers  ├──────────────────────────┤  Inspector  │
│  panel   │        Screens + tools   │    panel    │
│          ├──────────────────────────┴─────────────┤
│          │  Code panel          │  Code settings  │
└──────────┴──────────────────────┴─────────────────┘
ObszarPrzeznaczenie
Panel warstwRozwijalne ekrany, warstwy i grupy, ze zmianą rozmiaru
Górny pasekSzczegóły projektu i akcje
Obszar rysowaniaEkrany i grafika projektu
Panel inspektoraWłaściwości wybranej warstwy
Panel koduKarty kodu ekranu, ze zmianą rozmiaru
Ustawienia koduPrzełączniki wyjścia kodu i pobieranie

Zmiana rozmiaru paneli ​

Panel warstw i panel kodu pozwalają zmieniać rozmiar. Przeciągnij uchwyt zmiany rozmiaru na krawędzi panelu, aby zmienić jego rozmiar.

Górny pasek ​

Górny pasek zawiera Szczegóły projektu i Akcje. Narzędzia rysowania znajdują się nad obszarem roboczym, a kontrolki powiększenia po jego prawej stronie.

Szczegóły projektu ​

Pokazuje informacje o bieżącym projekcie i ekranie.

  • Ścieżka nawigacji — Nazwa projektu › Nazwa ekranu. Obie etykiety są skracane, jeśli są długie.
  • Odznaka platformy — pokazuje aktywną platformę (np. tft-espi). Wyświetlanie tylko do odczytu; platformę wybiera się przy tworzeniu projektu i nie można jej później zmienić.
  • Odznaka rozmiaru wyświetlacza — pokazuje skonfigurowaną rozdzielczość wyświetlacza (np. 128×64).
  • Ustawienia (ikona koła zębatego) — otwiera okno Ustawienia projektu.
  • Projekt publiczny — zielona etykieta pokazywana, gdy projekt jest widoczny dla wszystkich użytkowników w galerii.

Strefa szczegółów projektu jest pokazywana tylko wtedy, gdy jesteś zalogowany(-a) lub przeglądasz w trybie tylko do odczytu.

Pasek narzędzi ​

Pasek narzędzi nad obszarem roboczym zawiera przycisk Zaznacz oraz narzędzia rysowania dla aktywnej platformy.

Zaznacz (brak aktywnego narzędzia) ​

Kliknij ikonę kursora lub naciśnij Escape, aby wrócić do trybu zaznaczania. W trybie zaznaczania kursor jest domyślnym wskaźnikiem; kliknięcie warstwy na obszarze rysowania zaznacza ją. Kliknięcie pustego miejsca odznacza wszystkie warstwy.

Narzędzia rysowania ​

Narzędzia nieobsługiwane przez aktywną platformę są ukryte. W kodzie istnieją następujące narzędzia:

NarzędzieJak używać
ObrazOtwiera kreator obrazu: prześlij obraz, GIF lub film; wybierz z wbudowanych pakietów ikon; wklej surową tablicę bajtów; albo dodaj animację na obsługiwanych platformach
MalowanieSwobodne rysowanie co do piksela na warstwie bitmapy; prawy przycisk myszy wymazuje; przytrzymaj Shift, aby rysować proste linie
TekstKliknięcie aktywuje narzędzie; warstwa tekstowa jest automatycznie umieszczana na środku ekranu, zaznaczana, a pole tekstowe inspektora otrzymuje fokus
ProstokątKliknij i przeciągnij, aby określić przeciwległe rogi
OkrągKliknij i przeciągnij od środka; promień podąża za przeciąganiem
ElipsaKliknij i przeciągnij, aby określić ramkę ograniczającą
LiniaKliknij i przeciągnij od punktu początkowego do końcowego
TrójkątTrzy kliknięcia w wielu punktach: kliknij każdy wierzchołek, kliknij dwukrotnie lub naciśnij Escape, aby zakończyć
WielokątWiele kliknięć: umieść dowolną liczbę wierzchołków, kliknij dwukrotnie lub naciśnij Escape, aby zakończyć; kliknij dwukrotnie istniejący wielokąt, aby edytować wierzchołki
ŁukTylko TFT_eSPI; dodaje wyśrodkowany łuk z edytowalnym promieniem, kątami, szerokością, kolorami i wygładzaniem krawędzi

Tylko LVGL

NarzędzieJak używać
Obszar tekstowyTak jak Tekst, ale tworzy wielowierszową warstwę tekstową
PanelRysuje widżet kontenera panelu
PrzyciskRysuje widżet przycisku
Pole wyboruRysuje widżet pola wyboru
PrzełącznikRysuje widżet przełącznika
SuwakRysuje widżet suwaka
Łuk LVGLDodaje widżet łuku LVGL z wartością i ścieżką

Narzędzia łuku ​

TFT_eSPI i LVGL używają osobnych narzędzi łuku, ponieważ ich modele rysowania są różne. Łuk w TFT_eSPI to prymityw rysowania kontrolowany przez promień, kąty początkowy i końcowy, szerokość, kolor pierwszego planu, kolor tła oraz przełącznik Gładki. Równe kąty początkowy i końcowy dają pełny okrąg.

Łuk LVGL tworzy widżet o szerokości, wysokości, obrocie, kątach początkowym i końcowym, wartości, kolorze wskaźnika i kolorze ścieżki. Wartość jest ograniczona do 0–100. Każde narzędzie łuku jest pokazywane tylko na obsługiwanej przez nie platformie.

Kreator importu obrazów ​

Zobacz pełny przewodnik Importowanie obrazów, aby poznać wszystkie tryby importu, kontrolki edytora i procedury krok po kroku.

Wskazówka: możesz też przeciągnąć plik PNG lub BMP bezpośrednio na obszar rysowania, aby całkowicie pominąć kreator — obraz zostanie zaimportowany z ustawieniami domyślnymi.

Kontrolki pędzla malowania ​

Gdy narzędzie Malowanie jest aktywne, na pasku narzędzi pojawiają się dodatkowe kontrolki:

  • Lista rozwijana wzoru — wybierz Pełny, Szachownica, Linie poziome, Linie pionowe lub Okrąg. Podgląd aktualizuje się, zanim zaczniesz rysować, a wzory wyrównują się do siatki ekranu między osobnymi pociągnięciami.
  • Przełącznik trybu gumki — sprawia, że zwykłe malowanie wymazuje piksele. Prawy przycisk myszy również wymazuje, a obie ścieżki gumki używają wybranego wzoru pędzla.
  • Przełącznik trybu koloru — przełączaj między trybami pędzla Monochromatyczny (1-bitowy) i RGB.
  • Wybór koloru pędzla — widoczny w trybie RGB; ustawia bieżący kolor malowania.
  • Przycinanie — pojawia się dla warstw Malowanie wystarczająco dużych, aby je przyciąć. Tryb przycinania pokazuje pomarańczowe uchwyty i przyciemnia obszar poza przycięciem; przeciągnij obszar lub uchwyty, a następnie zastosuj lub anuluj. Escape wychodzi z trybu przycinania przed opuszczeniem narzędzia Malowanie, a zastosowane przycięcia można cofnąć.

Skala ​

Kontrolka skali po prawej stronie obszaru roboczego dostosowuje powiększenie obszaru rysowania. To samo powiększenie można zmienić za pomocą Ctrl + / Ctrl - lub przewijając kółkiem myszy przy przytrzymanym Ctrl/Cmd.

Akcje ​

Akcje na poziomie projektu, widoczne po zalogowaniu lub podczas przeglądania w trybie tylko do odczytu.

  • Gwiazdka — dodaj projekt do zakładek. Przycisk pokazuje bieżącą liczbę gwiazdek.
  • Fork — tworzy kopię projektu na twoim koncie i od razu ją otwiera. Wymaga zalogowania.
  • Udostępnij — menu rozwijane z następującymi opcjami:
    • Kopiuj link publiczny — kopiuje bezpośredni adres URL galerii do schowka. Wyłączone, jeśli projekt lub bieżący ekran jest prywatny.
    • Prezentacja — otwiera pełnoekranowy pokaz slajdów wszystkich ekranów w projekcie.
    • Zapisz jako — Plik tekstowy eksportuje otwartą kartę kodu, w tym własny kod. Obraz PNG i Obraz BMP eksportują wybrany ekran lub ekran karty kodu, jeśli żaden ekran nie jest wybrany.

Obszar rysowania ​

Obszar roboczy pokazuje ekrany projektu razem w wybranej skali. Każdy ekran pokazuje podgląd grafiki dla docelowego wyświetlacza.

Siatka ​

Kliknij Siatka po prawej stronie obszaru roboczego, aby przełączać między siatką 1 piksela, siatką 10 pikseli i brakiem siatki. Domyślna siatka 1 piksela pojawia się przy powiększeniu 300% lub większym; siatka 10 pikseli pojawia się przy 30% lub większym. Siatka jest tylko wizualna i nie ma zachowania przyciągania.

Interakcje myszą ​

InterakcjaEfekt
Kliknięcie pustego obszaruOdznacza wszystkie warstwy
Kliknięcie warstwyZaznacza tę warstwę
Shift + kliknięcieDodaje warstwę do zaznaczenia lub ją z niego usuwa
Kliknięcie i przeciągnięcie pustego obszaruRysuje prostokąt zaznaczenia
Kliknięcie i przeciągnięcie wybranej warstwyPrzesuwa warstwę
Kliknięcie i przeciągnięcie uchwytu zmiany rozmiaruZmienia rozmiar wybranej warstwy
Przytrzymanie Shift podczas zmiany rozmiaruZachowuje oryginalne proporcje
Przytrzymanie Alt podczas zmiany rozmiaruZmienia rozmiar od środka
Kliknięcie zgrupowanej warstwyZaznacza wszystkie warstwy w grupie
Dwukrotne kliknięcie zgrupowanej warstwyZaznacza tylko tę pojedynczą warstwę
Shift + kliknięcie zgrupowanej warstwyDodaje wszystkich członków grupy do zaznaczenia
Dwukrotne kliknięcie Wielokąt / TrójkątWchodzi w tryb edycji wierzchołków
Prawy przycisk myszy (narzędzie Malowanie)Wymazuje piksele
Ctrl/Cmd + kółko myszyPowiększa / pomniejsza, wyśrodkowane na kursorze
Kółko myszy (bez modyfikatora)Przesuwa obszar rysowania
Przeciąganie środkowym przyciskiemPrzesuwa obszar rysowania

Upuszczanie obrazów ​

Możesz przeciągnąć plik PNG lub BMP bezpośrednio na obszar rysowania. Obraz jest importowany od razu z ustawieniami domyślnymi i umieszczany jako warstwa bitmapy (Malowanie).

Lista ekranów ​

Ekrany pojawiają się jako rozwijalne wpisy w drzewie Warstwy po lewej stronie, z zagnieżdżonymi pod nimi warstwami i grupami.

Dodawanie ekranów ​

Kliknij Dodaj ekran w nagłówku Warstwy, aby dodać nowy ekran. Nazwa jest generowana automatycznie jako Screen N z kolejnym dostępnym numerem.

Kliknij wiersz ekranu w drzewie Warstwy, aby zaznaczyć i ustawić fokus na tym ekranie. Użyj jego strzałki rozwijania, aby pokazać lub ukryć jego warstwy.

Zmiana kolejności ekranów ​

Przeciągnij wiersz ekranu w nowe miejsce. Kolejność jest zapisywana od razu.

Zmiana nazwy ekranu ​

Kliknij dwukrotnie tytuł nad ekranem w obszarze roboczym, aby edytować go w miejscu.

Menu kontekstowe (prawy przycisk myszy) ​

Kliknij prawym przyciskiem myszy tytuł nad ekranem, aby otworzyć jego menu kontekstowe:

AkcjaOpis
DuplikujTworzy kopię ekranu i dodaje ją na końcu listy.
OpublikujSprawia, że prywatny ekran jest widoczny w galerii.
Ustaw jako prywatnyUkrywa ekran przed galerią.
UsuńUsuwa ekran. Wymaga drugiego kliknięcia w celu potwierdzenia.

Lista warstw ​

Drzewo Warstwy zawiera listę ekranów, warstw i grup projektu. Rozwiń ekran, aby zobaczyć jego warstwy w kolejności renderowania (góra listy = góra stosu = rysowane jako ostatnie).

Akcje listy warstw ​

AkcjaJak
Zaznacz warstwęKliknij jej wiersz
Zaznacz zakresKliknij jedną warstwę, a potem Shift + kliknij inną warstwę
Przełącz zaznaczenieCtrl/Cmd + kliknij warstwę
Zaznacz wszystkoCtrl A
Zmień kolejnośćPrzeciągnij i upuść wiersz w nowe miejsce
Zmień kolejność klawiaturąZaznacz warstwę, a potem Ctrl ↑ / Ctrl ↓
Pokaż / ukryjKliknij ikonę oka po najechaniu
Zablokuj / odblokujKliknij ikonę kłódki po najechaniu
UsuńZaznacz, a potem Delete lub przycisk Usuń w inspektorze

Grupy ​

Warstwy można grupować. Grupa pojawia się jako zwijalny wpis na liście warstw. Kliknij nagłówek grupy, aby zaznaczyć wszystkie należące do niej warstwy naraz. Ctrl/Cmd + kliknięcie nagłówka grupy przełącza wszystkich jej członków w bieżącym zaznaczeniu. Kliknij strzałkę rozwijania, aby pokazać lub ukryć warstwy należące do grupy w jej wierszu; zaznaczanie zakresu nadal obejmuje warstwy w zwiniętych grupach.

AkcjaSkrót
Grupuj wybrane warstwyCtrl G
RozgrupujCtrl Shift G
Zmień nazwę grupyKliknij dwukrotnie nazwę grupy w inspektorze

Możesz przeciągać pojedyncze warstwy do grup i z grup, upuszczając je wewnątrz lub na zewnątrz kontenera grupy na liście.

Inspektor ​

Panel inspektora znajduje się po prawej stronie. Jego zawartość zmienia się w zależności od stanu zaznaczenia. Użyj Ukryj inspektor lub Pokaż inspektor po prawej stronie obszaru roboczego, aby go przełączyć; wybór jest zapamiętywany w tej przeglądarce.

Ściągawka ze skrótów ​

Gdy nic nie jest zaznaczone, inspektor pokazuje listę skrótów klawiaturowych. To szybka ściągawka; pełna lista znajduje się w opisie Skróty klawiaturowe.

Jedna wybrana warstwa ​

Inspektor pokazuje:

  • Ikona warstwy + nazwa — najedź, aby odsłonić ikonę edycji, a potem kliknij ją, aby zmienić nazwę w miejscu.
  • Przyciski wyrównania — sześć przycisków, które ustawiają warstwę względem krawędzi wyświetlacza i środka:
PrzyciskJedna warstwaWiele warstw
Wyrównaj do lewejPrzesuń do lewej krawędzi wyświetlaczaWyrównaj wszystkie lewe krawędzie do warstwy najbardziej po lewej
Wyrównaj środki w poziomieWyśrodkuj poziomo na wyświetlaczuWyrównaj wszystkie środki w poziomie do wspólnego środka
Wyrównaj do prawejPrzesuń do prawej krawędzi wyświetlaczaWyrównaj wszystkie prawe krawędzie do warstwy najbardziej po prawej
Wyrównaj do góryPrzesuń do górnej krawędzi wyświetlaczaWyrównaj wszystkie górne krawędzie do najwyższej warstwy
Wyrównaj środki w pionieWyśrodkuj pionowo na wyświetlaczuWyrównaj wszystkie środki w pionie do wspólnego środka
Wyrównaj do dołuPrzesuń do dolnej krawędzi wyświetlaczaWyrównaj wszystkie dolne krawędzie do najniższej warstwy

Gdy wybranych jest wiele warstw, wyrównanie odbywa się względem ramki ograniczającej wszystkie wybrane warstwy, a nie wyświetlacza. Każda warstwa przesuwa się tak, aby pasować do odpowiedniej krawędzi lub środka tych połączonych granic.

  • Pola właściwości — wszystkie edytowalne właściwości dla wybranego typu warstwy. Typowe pola:
PoleTypWarstwy
X, YLiczbaWszystkie warstwy z pozycją
W, HLiczbaWszystkie warstwy z rozmiarem
X1, Y1, X2, Y2LiczbaLinia
Promień / RX / RYLiczbaOkrąg, Elipsa
Promień / Początek / Koniec / SzerokośćLiczbaŁuk
Obrót / Początek / Koniec / WartośćLiczbaŁuk LVGL
WypełnienieWartość logicznaProstokąt, Okrąg, Elipsa, Trójkąt
Odwrócony (XOR)Wartość logicznaWiększość warstw kształtów
Kolor / Wypełnienie / Tło / ObramowanieKolorZależnie od platformy; tło tekstu jest ukryte lub ignorowane na platformach, które go nie obsługują
CzcionkaWybór czcionkiTekst, Obszar tekstowy, Przycisk, Pole wyboru
TekstCiąg znakówTekst, Obszar tekstowy, Przycisk, Pole wyboru
ZaznaczoneWartość logicznaPole wyboru
NakładkaWartość logicznaPrzyciemnia warstwę i pomija ją przy generowaniu kodu
PrzezroczystośćWartość logicznaObrazy RGB z przezroczystymi pikselami; zachowuje ich przezroczystość zamiast tła ekranu

W przypadku warstw tekstowych w U8g2, Flipper, CircuitPython i LVGL inspektor pokazuje też przyciski obrotu 0°, 90°, 180° i 270°. Obrót jest zgodny z ruchem wskazówek zegara, zachowuje środek granic warstwy i jest zachowywany w zapisanych projektach oraz wygenerowanym kodzie. Przyciski są ukryte na platformach bez natywnej obsługi obrotu tekstu.

  • Przełącznik zmiennej (mały przełącznik obok pól liczbowych i kolorów) — oznacza właściwość jako zmienną, a nie literał w wygenerowanym kodzie.
  • Akcje — przyciski operacji na obrazie dostępne na warstwach bitmapy (Malowanie):
    • Odbij w poziomie — odbija bitmapę względem osi pionowej.
    • Odbij w pionie — odbija bitmapę względem osi poziomej.
    • Obróć zgodnie z ruchem wskazówek zegara — obraca bitmapę o 90° w prawo.
    • Odwróć kolory — odwraca każdy piksel w bitmapie.
  • Scal do bitmapy — renderuje wszystkie wybrane warstwy do jednej warstwy bitmapy (Malowanie). Warstwy źródłowe są usuwane i zastępowane jednym płaskim obrazem o rozmiarze całego wyświetlacza. Warstwy XOR/odwrócone są poprawnie komponowane podczas scalania.
  • Usuń — usuwa wybraną warstwę lub warstwy.

Wiele wybranych warstw ​

Inspektor pokazuje liczbę wybranych warstw, przyciski wyrównania (do rozmieszczania względem siebie), przycisk Scal do bitmapy oraz przycisk Usuń.

Jeśli wszystkie wybrane warstwy należą do tej samej grupy, nazwa grupy jest pokazywana i można ją zmienić w miejscu.

Kod ​

Panel kodu znajduje się na dole edytora. W projektach z wieloma ekranami wybierz kartę ekranu, aby zobaczyć jego wygenerowany kod źródłowy w czasie rzeczywistym.

Panel używa kolorowania składni dla języka aktywnej platformy (C, C++, YAML itd.).

  • Przycisk Kopiuj — kopiuje pełny wygenerowany kod do schowka, w tym własny prefiks i sufiks, które napisałeś(-aś) (zobacz poniżej).
  • Przycisk Importuj — importuje plik źródłowy do ekranu otwartej karty kodu na obsługiwanych platformach. Działa najlepiej z kodem wygenerowanym przez sam Lopaka.

Edytowalny szablon kodu ​

Panel kodu jest podzielony na trzy strefy oddzielone komentarzami znaczników:

// [BEGIN lopaka generated]
  … generated draw calls …
// [END lopaka generated]

Strefa prefiksu (nad znacznikiem BEGIN) i strefa sufiksu (pod znacznikiem END) są w pełni edytowalne. Wpisz tam dowolny potrzebny kod — dyrektywy #include, deklaracje zmiennych, funkcję setup() lub cokolwiek innego, czego wymaga twój szkic. Wygenerowana sekcja pośrodku jest tylko do odczytu i aktualizuje się automatycznie, gdy edytujesz warstwy.

Twój prefiks i sufiks są zapisywane lokalnie w przeglądarce dla każdego ekranu i przywracane po ponownym wczytaniu strony. Przełączanie kart kodu wczytuje szablon należący do każdego ekranu.

Ustawienia kodu ​

Panel ustawień kodu znajduje się po prawej stronie panelu kodu. Kontroluje, jak generowany jest kod źródłowy.

Przełączniki wyjścia ​

Dostępne przełączniki zależą od platformy. Typowe to:

UstawienieEfekt
Funkcja opakowującaOpakowuje wszystkie wywołania rysowania w nazwaną funkcję
KomentarzeDodaje komentarz // layer name przed każdym wywołaniem rysowania
Uwzględnij czcionkiDodaje #include lub deklaracje czcionek
Deklaruj obrazyDodaje deklaracje tablic bitmap
Deklaruj zmienneWyodrębnia zmienne właściwości warstw do typowanych zmiennych C
Wyczyść/wypełnij wyświetlaczDodaje wywołanie czyszczenia ekranu na początku funkcji
Deklaruj jako PROGMEMTylko U8g2 — umieszcza tablice bitmap w pamięci flash

Wybór składni ​

Na platformach z więcej niż jednym szablonem kodu nad przełącznikami pojawia się lista rozwijana Składnia:

PlatformaOpcje
U8g2Arduino (Cpp), ESP-IDF (C)
AdafruitGFX Color, AdafruitGFX Mono, ArduinoGFX, TFT_eSPIArduino (C++), ESP-IDF (C++)

Opcja Arduino jest domyślna. Opcje ESP-IDF generują kod, który możesz umieścić w komponencie ESP-IDF: tablice są deklarowane bez PROGMEM, a żaden setup() / loop() (ani app_main()) nie jest generowany, więc wywołujesz wygenerowane funkcje rysowania z własnego zadania. Pozostałe platformy mają jeden szablon i nie pokazują listy rozwijanej.

Pobieranie czcionek i obrazów ​

Gdy warstwy odwołują się do czcionek lub obrazów bitmapowych, na dole panelu ustawień kodu pojawiają się linki do pobrania. Kliknij link czcionki, aby pobrać plik .h lub .bdf. Kliknij link obrazu, aby pobrać bitmapę jako plik .bmp lub .h, w zależności od platformy.

Automatyczne zapisywanie ​

Edytor automatycznie zapisuje twoją pracę podczas rysowania. Zmiany są zapisywane w chmurze co sekundę po ostatniej edycji. Nie ma ręcznego przycisku zapisywania; zamknięcie karty lub przejście gdzie indziej jest bezpieczne, gdy obszar rysowania przestaje się zmieniać.

Gdy otwierasz projekt, którego nie jesteś właścicielem (galeria lub udostępniony link), edytor działa w trybie tylko do odczytu. Narzędzia są ukryte, inspektor służy tylko do podglądu, a kod można kopiować, ale nie importować. Listą warstw nadal można się poruszać.