GTK 4.0 vem com melhorias para realizar interfaces gráficas, transferência de dados e muito mais

Faz alguns dias o lançamento da nova versão do GTK 4.0 foi anunciado, versão que estava em desenvolvimento há vários meses e que se torna o novo ramo estável do projeto. Esta nova versão apresenta funcionalidades muito interessantes, das quais podemos destacar as melhorias na reprodução de mídia.

GTK é um conjunto de bibliotecas de software para a criação de interfaces gráficasGTK foi originalmente desenvolvido para as necessidades do software de processamento de imagem GIMP. Atualmente, seu escopo não se limita mais apenas ao GIMP, mas é usado em outros projetos. Por exemplo, GTK está no coração do ambiente de modelo de objeto de rede GNU (GNOME), mas também pode ser usado para escrever aplicativos para outros ambientes Linux, bem como aplicativos para Microsoft Windows e Apple macOS.

“GTK 4.0 é o resultado do trabalho árduo de uma pequena equipe de desenvolvedores dedicados. Teremos um artigo separado para revisar as estatísticas, mas o resumo rápido é que, desde novembro de 3.89.1, versão 2016, adicionamos mais de 18,000 commits e fizemos mais de 20 lançamentos de desenvolvimento.

“Parabéns e um grande obrigado a todos que participaram desse esforço, em especial Benjamin, Emmanuele, Timm, Carlos, Jonas e Christian! «

Sobre a nova versão do GTK 4.0

GTK 4.0 apresenta novos widgets e mudanças nos elementos existentes, suporte integrado para reprodução de mídia, melhorias na aceleração da GPU, como trabalhar em seu novo mecanismo de renderização Vulkan e melhor compatibilidade com macOS. Também podemos notar melhorias na transferência de dados, shaders redesenhados, rolagem acelerada por GPU, melhorias na renderização OpenGL além do trabalho Vulkan, restauração do trabalho em HTMl5 Broadway, melhor suporte ao Windows, etc.

Vamos examinar alguns pontos com um pouco mais de profundidade.

Gerenciamento de mídia em GT4

  • GTK 4 permitirá que aplicativos GTK exibam animações mais facilmente; seja animação programática, arquivo webm ou transmissão ao vivo.
  • GTK 4 traz uma nova API chamada GdkPaintable que foi inspirada no esforço CSS Houdini. É muito flexível (qualquer coisa que você possa desenhar pode ser um GdkPaintable). O conteúdo pode ser redimensionado (como svg) ou alterado ao longo do tempo (como webm).
  • Se você tiver necessidades mais especializadas, qualquer coisa que possa ser capturada em um GtkSnapshot pode ser transformada em um desenho com gtk_snapshot_to_paintable (). Se você estiver criando um widget personalizado que deseja desenhar um objeto para pintar, é muito simples. Basta chamar gdk_paintable_snapshot ().
  • Você pode ter controle de multimídia usando o widget GtkVideo.

Transferência de dados em GTK4

Métodos tradicionais de transferência de dados Os aplicativos da área de trabalho iniciados pelo usuário são a área de transferência ou arrastar e soltar. GTK + suporta esses métodos, mas até GTK3, as APIs no kit de ferramentas para esse tipo de transferência de dados eram cópias finamente disfarçadas das APIs X11 correspondentes. Isso não é muito surpreendente, uma vez que toda a API GDK foi modelada em X11. Infelizmente, a implementação inclui resultados como transferências incrementais e conversões de formato de string.

Para GTK4, a equipe decidiu abandonar esta abordagem, optando por uma modernização. Este é o conceito da nova abordagem:

“Se os dados que seu aplicativo deseja enviar não são uma string, provavelmente é um objeto, como GFile, GdkTexture ou GdkRGBA. O aplicativo do lado do receptor pode não usar GTK ou GLib e, portanto, não está ciente desses tipos. E mesmo se você fizer isso, não há como mover objetos de um processo para outro inteiros.

“Dentro dele, a transferência de dados funciona enviando um descritor de arquivo do aplicativo de origem e do aplicativo de destino lendo um fluxo de bytes. Os protocolos para a área de transferência e DND usam tipos de mime como text / uri-list, image / png ou application / x-color para identificar o formato do fluxo de bytes.

O envio de um objeto envolve a negociação de um formato de dados compatível de dois lados, serializando o objeto no lado da origem em um fluxo de bytes desse formato, transferindo os dados e desserializando o objeto no lado do destino. «

Além disso, GTK4 vem com novas APIs.

“A primeira API que apresentamos para lidar com esses tipos é o objeto GdkContentFormats. Ele pode conter uma lista de formatos, que podem ser GTypes ou mime. Usamos objetos GdkContentFormats para descrever os formatos em que um aplicativo pode oferecer dados, bem como os formatos em que um aplicativo pode receber dados ”.

fonte: https://blog.gtk.org/


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.