abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:55 | IT novinky

    NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 15:44 | IT novinky

    Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…

    Ladislav Hagara | Komentářů: 1
    dnes 13:00 | Zajímavý software

    Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom

    … více »
    Cohen | Komentářů: 1
    dnes 01:55 | Nasazení Linuxu

    CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.

    |🇵🇸 | Komentářů: 9
    dnes 01:44 | Nová verze

    UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Nová verze

    Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.

    |🇵🇸 | Komentářů: 1
    včera 12:44 | IT novinky

    Národní bezpečnostní tým CSIRT.CZ koordinovaný sdružením CZ.NIC přichází se službou Strážci internetu, která má sjednotit způsob hlášení doménových jmen zneužívaných k páchání trestné činnosti. Službu mohou uživatelé využívat také prostřednictvím rozšíření do prohlížeče. Nový nástroj podporuje jak hlášení vyžadující autorizaci, tak anonymní reporting, u kterého však nebude možné zapojit takovou míru automatizace jako u

    … více »
    Ladislav Hagara | Komentářů: 18
    včera 12:22 | Komunita

    Firefox pro iOS přichází s integrovaným blokováním reklam. Funkce je ve výchozím nastavení vypnutá a lze ji aktivovat v Settings > Browsing > Ad Blocker.

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | IT novinky

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.

    Ladislav Hagara | Komentářů: 2
    včera 10:55 | Nová verze

    Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (3%)
     (20%)
     (29%)
     (7%)
     (5%)
     (2%)
     (15%)
     (21%)
    Celkem 2557 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Kreslení do GtkFixed

    Luboš Doležel (Doli) avatar 16.8.2005 15:39 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Kreslení do GtkFixed
    Přečteno: 241×
    Ahoj,

    řeším jeden problém s GTK. Potřebuju mít plochu, na kterou můžu něco vykreslovat a uprostřed té plochy bude ScrolledWindow s TreeView uvnitř.

    Napadlo mě použít GtkFixed a umístit do něj ten ScrolledWindow. Jenže při kreslení do GtkFixed se objevil problém: pokud při expose event vykreslím něco na pozici X=5,Y=5, tak se sice objekt vykreslí na tuto pozici, ale relativně k toplevel oknu, ne k tomu GtkFixed.

    Chci se proto zeptat: je nějaký "správný" postup jak vyřešit požadavek definovaný v prvním odstavci?

    Díky

    Odpovědi

    Luboš Doležel (Doli) avatar 16.8.2005 16:36 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    Tak jsem to zatím vyřešil tak, že veškeré vykreslování je posunuté podle pozice GtkFixed, ale během toho jsem zjistil, že veškerá volání GC::offset() jsou ignorována, takže musím samotný posun provádět sám.
    16.8.2005 17:48 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    GtkFixed je no-window widget, takže se kreslí na okno rodiče...
    #include <gtk/gtk.h>
    
    static gboolean
    exposed(GtkWidget *fixed,
            G_GNUC_UNUSED GdkEventExpose *event)
    {
        GdkGC *gc = gdk_gc_new(fixed->window);
        GtkAllocation *alloc = &fixed->allocation;
    
        gdk_draw_line(fixed->window, gc,
                      alloc->x, alloc->y,
                      alloc->x + alloc->width, alloc->y + alloc->height);
        g_object_unref(gc);
    
        return FALSE;
    }
    
    int
    main(int argc, char *argv[])
    {
        GtkWidget *window, *frame, *fixed;
    
        gtk_init(&argc, &argv);
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_container_set_border_width(GTK_CONTAINER(window), 40);
        g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    
        frame = gtk_frame_new(NULL);
        gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
        gtk_container_add(GTK_CONTAINER(window), frame);
    
        fixed = gtk_fixed_new();
        g_printerr("GtkFixed is: %s\n",
                   GTK_WIDGET_NO_WINDOW(fixed) ? "NO_WINDOW" : "WINDOW");
        gtk_widget_set_size_request(fixed, 200, 100);
        g_signal_connect(fixed, "expose-event", G_CALLBACK(exposed), NULL);
        gtk_container_add(GTK_CONTAINER(frame), fixed);
    
        gtk_widget_show_all(window);
        gtk_main();
    
        return 0;
    }
    
    Luboš Doležel (Doli) avatar 16.8.2005 21:19 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    Ve zdrojáku GTK+ vidím, jak si flag NO_WINDOW nastavuje v gtk_fixed_init(), ale v gtk_fixed_realize() počítá i s možností, že není NO_WINDOW. Mám nějakou šanci mu ten flag změnit před tím, než se mu zavolá realize?
    16.8.2005 21:28 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    Jistě. Stačí kdekoli mezi vytvořením a realizací (typicky vyvolanou gtk_widget_show()) provést
    GTK_WIDGET_UNSET_FLAGS(fixed, GTK_NO_WINDOW);
    
    Luboš Doležel (Doli) avatar 16.8.2005 21:50 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    Díky moc. Už to všechno chodí dle mých představ.
    Luboš Doležel (Doli) avatar 16.8.2005 21:31 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    Odpovím si sám. gtk_fixed_set_has_window()
    16.8.2005 21:59 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: Kreslení do GtkFixed
    No vida, on na to dokonce má metodu ;-)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.