Anki Night Mode - tryb nocny

Stworzyłem niedawno wtyczkę do programu „Anki flashcards” (program ułatwiający naukę) dodającą tryb nocny, podobny do zaimplementowanego w programie AnkiDroid na Androida. Poniżej przedstawiam kilka informacji dla zainteresowanych studentów:

For English version of this instruction check my GitHub repository.

Jak to działa?

Dodaje menu „view” z opcjami:
- przełączania trybu nocnego i dziennego
- inwersji kolorów obrazów i formuł w języku Latex
- modyfikowania niektórych kolorów

Dostępny jest też skrót skrót ctrl + n do szybkiego przełączania trybów i selektor kolorów aby móc łatwo dostroić kolory do indywidualnych preferencji.

Po aktywowaniu trybu nocnego, dodatek zmienia kolory paska menu, narzędzi i dolnego oraz okna głównego. Zerknij na koniec tej notatki aby obejrzeć zrzut ekranu z aktywnego trybu nocnego.

Jak mogę to dodać do swojej Anki?

Automatyczna instalacja

Możesz pobrać ten dodatek bezpośrednio przez program Anki.
Z menu wybierz: Narzędzia >> Dodatki >> Przeglądaj i zainstaluj i w okienku, które wyskoczy wpisz następujący kod:
1496166067

po kliknięciu ok dodatek zostanie pobrany. Aby dokończyć instalację zrestartuj Anki.

Aby przełączyć się w tryb nocny możesz użyć skrótu ctrl + n lub wykorzystać któCzytaj więcej!



Wczytywanie obiektów .obj na potrzeby OpenGL

W ramach oderwania się od assemblera i przypomnienia sobie Cpp miałem opisać dosyć proste zagadnienie wczytywania obiektów .obj.

Niestety z powodu braku czasu postanowiłem zrobić coś innego - dla osób zainteresowanych umieszczam po prostu kod funkcji wczytującej którą pisałem rok temu. Mam nadzieję że przyda się osobom, szukającym pomysłów na optymalizację wczytywania obiektów obj - podstawy opisze innym razem.

Uwaga: poniższe, wybrane przeze mnie funkcje służą demonstracji możliwości optymalizacji loadera obiektów .obj. Zostały uproszczone o wiele linii kodu związanego z obsługą klasy i nie będą działały samodzielnie, bez reszty klasy i autorskich funkcji ogólnego użytku (między innymi operujących na stringach) więc nie warto próbować ich kompilować ;)

#define MAX_VERTEX 50000
#define MAX_TCORDS 38000
#define MAX_NORMALS 38000
#define MAX_WALLS 100000
#define MAX_MATERIALS 600


struct Wall_Vertex{
    float tex[2];
    float xyz[3];
};

struct Material{
    string name;
    float Ka[3];
    float Kd[3];
    float Ks[3];
    float Ns;
    float d; // the same as Tr
    int illum; // nie używane
    Texture map_Ka;
    Texture map_Kd;
    Texture map_Ks;
};

struct obj_Wall {
    int x;
    int y;
    int z;
    int w;
    int tx;
    int ty;
    int tz;
    int tw;
    int normal_id;
    bool quad_mode;
    string material_name;
    int material_id;
    Wall_Vertex T2F_V3F[4];
   
Czytaj więcej!



Brilliant gallery path

Jeżeli popularny moduł drupala nie wyświetla ci miniaturek zdjęć polecam sprawdzić plik: sites/all/modules/brilliant_gallery/functions.inc. W 458 linijce jest błędny kod:

Imagejpeg($img, '', 80);


Aby działało poprawnie należy podmienić na:

header('Content-Type: image/jpeg');
Imagejpeg($img, NULL, 80);




1
↑
2345