Blame platform-overview/pt_BR/tech-gdk.page

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>