|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="tech-gdk" xml:lang="pt-BR">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<link type="guide" xref="tech" group="gdk"/>
|
|
Packit |
1470ea |
<revision pkgversion="3.0" date="2011-04-05" status="candidate"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<credit type="author copyright">
|
|
Packit |
1470ea |
<name>Shaun McCance</name>
|
|
Packit |
1470ea |
<email its:translate="no">shaunm@gnome.org</email>
|
|
Packit |
1470ea |
<years>2011–2012</years>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<desc>Abstração de baixo nível para sistema de janela</desc>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Enrico Nicoletto</mal:name>
|
|
Packit |
1470ea |
<mal:email>liverig@gmail.com</mal:email>
|
|
Packit |
1470ea |
<mal:years>2009</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Rafael Fontenelle</mal:name>
|
|
Packit |
1470ea |
<mal:email>rafaelff@gnome.org</mal:email>
|
|
Packit |
1470ea |
<mal:years>2013, 2014, 2016, 2017</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
|
|
Packit |
1470ea |
<mal:name>Isaac Ferreira Filho</mal:name>
|
|
Packit |
1470ea |
<mal:email>isaacmob@riseup.net</mal:email>
|
|
Packit |
1470ea |
<mal:years>2018</mal:years>
|
|
Packit |
1470ea |
</mal:credit>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>GDK</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK é a biblioteca de baixo nível utilizada pelo <link xref="tech-gtk">GTK+</link> para interagir com o sistema de janela por gráficos e dispositivos de entrada. Embora você raramente usará a GDK diretamente no código do aplicativo, ela contém todas as funcionalidades necessárias para criar janelas de baixo nível na tela e para interagir com o usuário com vários dispositivos de entrada. GDK age como uma abstração sobre vários sistemas de janela, de forma que GTK+ pode ser portável para todas elas: o X Window System (X11), Microsoft Windows, Mac OS X Quartz.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK permite que você acesse eventos de teclados, mouses e outros dispositivos de entrada. Implementações de widgets no GTK+ usam essa funcionalidade e traduzem os eventos em sinais de alto nível que podem, por sua vez, ser usados a partir do código do aplicativo. Por exemplo, um widget GtkButton vai rastrear eventos GDK_BUTTON_PRESS e GTK_BUTTON_RELEASE , que vêm do mouse e os traduz como apropriado em um sinal GtkButton::clicked quando o usuário pressiona e solta o botão na localização correta.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK também oferece rotinas de baixo nível para acessar dados do arrastar-e-soltar e da área de transferência do sistema. Quando implementados controles customizados, você poderá precisar acessar esses recursos para implementar um próprio comportamento de interação com o usuário.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
GDK oferece outra funcionalidade que é necessária para a implementação de um kit completo de ferramentas gráficas como o GTK+. Como GDK atua como uma abstração de plataforma, que permite ao GTK+ ser executado em vários ambientes, ele fornece uma API para todas as funcionalidades do sistema que precisem do GTK+. Isto inclui informações sobre exibição de multi-monitores, resolução, profundidade da cor, mapas de cores e cursores.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Você deve usar GDK toda vez que precise acesso de baixo nível para o sistema de janelas subjacente, incluindo acesso de baixo nível para eventos, janelas e para a área de transferência. Usar GDK para estas tarefas garante que seu código é portável e integra-se com o resto do seu código GTK+. Geralmente rotinas simples de desenho no GDK não devem ser usadas; essas são restos de quando GDK simplesmente interfaceava as primitivas de desenho do sistema de janela. Ao invés disso você deve usar a funcionalidade extensiva fornecida pelo <link xref="tech-cairo">Cairo</link> para desenhar gráficos 2D de alta qualidade.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list style="compact">
|
|
Packit |
1470ea |
<item><link href="https://developer.gnome.org/gdk3/stable/">Manual de referência do GDK</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
</page>
|