Esta é a biblioteca gráfica principal para todos os nossos monitores, fornecendo um conjunto comum de primitivas gráficas (pontos, linhas, círculos etc.). Ele precisa ser combinado com uma biblioteca específica de hardware para cada dispositivo de exibição que carregamos (para lidar com as funções de nível inferior).
A Adafruit investe tempo e recursos que fornecem esse código de código aberto, suporte a Adafruit e o hardware de código aberto comprando produtos da Adafruit!
Escrito por Limor Fried/Ladyada para a Adafruit Industries. Licença BSD, verifique a Licença.txt para obter mais informações. Todo o texto acima deve ser incluído em qualquer redistribuição.
Os lançamentos recentes do Arduino IDE incluem o gerente da biblioteca para facilitar a instalação. Caso contrário, para baixar, clique no botão Zip Download, descompacte e renomeie a pasta não compactada Adafruit_GFX. Confirme que a pasta Adafruit_GFX contém Adafruit_GFX.cpp e Adafruit_Gfx.h. Coloque a pasta Adafruit_gfx da biblioteca na sua pasta ArduinosketchFolder/ Bibliotecas/. Pode ser necessário criar a subpasta das bibliotecas se for sua primeira biblioteca. Reinicie o IDE.
Você também precisará instalar a mais recente biblioteca Adafruit Busio. Pesquise por "Adafruit Busio" no gerente da biblioteca ou instale manualmente em https://github.com/adafruit/adafruit_busio
Image2Code: Este é um utilitário Java GUI útil para converter um arquivo BMP no código da matriz necessário para exibir a imagem com a função DrawBitmap. Confira o código no Repositório do Github de Ehubin: https://github.com/ehubin/adafruit-gfx-library/tree/master/img2code
Função do drawxbitmap: você pode usar o editor de fotos do GIMP para salvar um arquivo .xbm e usar a matriz salva no arquivo para desenhar um bitmap com a função drawxbitmap. Veja o pedido de tração aqui para obter mais detalhes: #31
A pasta 'Fonts' contém fontes de bitmap para uso com recente (1.1 e posterior) Adafruit_GFX. Para usar uma fonte no seu esboço Arduino, #include o arquivo .h correspondente e passe o endereço do GFXFont STRUT para setFont (). Passe nulo para reverter para a fonte de bitmap de espaço fixo 'clássico'.
A pasta 'FontConvert' contém uma ferramenta de linha de comando para converter fontes TTF em formato de cabeçalho Adafruit_GFX.
Você também pode usar esta ferramenta GFX Font Customiser ( versão da Web aqui ) para personalizar ou corrigir a saída do FontConvert e criar fontes com apenas um subconjunto de caracteres para otimizar o tamanho.
A diretiva principal é manter a compatibilidade com versões anteriores com os esboços de Arduino existentes - muitos estão hospedados em outros lugares e não rastreiam alterações aqui, alguns estão impressos e nunca podem ser alterados! Essa biblioteca "pequena" cresceu organicamente ao longo do tempo e, às vezes, nos pintamos em um canto de design e só temos que viver com ela ou adicionar progressivamente soluções alternativas mais desagradáveis.
Somos gratos pelas contribuições de todos, mas os pedidos de puxar para o seguinte não serão fundidos:
Formatos de fontes adicionais ou incompatíveis (consulte a diretiva principal acima). Já existem dois formatos e o código é bastante inchado lá como é. Isso também cria responsabilidades para ferramentas e documentação. O que está lá não é perfeito, mas faz o trabalho.
Formatos de bitmap adicionais ou incompatíveis, por razões semelhantes. Está ficando bagunçado.
Adicionando cor de fundo às fontes personalizadas para apagar o conteúdo anterior da tela. Os únicos métodos aceitáveis são limpar a área com um recto preenchido, ou (para evitar o flicker), desenhe texto em um gfxCanvas1 e copie para tela com drawbitmap () com cor de fundo. Isso é de propósito e por design. Nós discutimos isso. Os glifos podem se sobrepor.
Rolagem, seja baseada em hardware ou software. Tais implementações tendem a confiar em recursos específicos de hardware (não disponíveis universalmente), leia o acesso ao Framebuffer da tela (idem) e/ou a adição de funções virtuais no GFX, que devem ser adicionadas em todas as subclasse, das quais existem muitas. A API GFX é amplamente "set" neste momento e isso é apenas uma limitação com a qual vivemos agora.
Por favor, não reformate o Código por uma questão de Reformating Code. O grande "Visual Dif" resultante torna impossível desvendar correções reais de bug de linhas meramente reorganizadas. Clang-format será o árbitro final.
Por favor, não há mais prs puxando pentagrama. Quaisquer funções de desenho estranhamente específicas podem ir em seu próprio código e não são úteis em um contexto de biblioteca.
Se você precisar ter um desses recursos, considere criar um garfo com os recursos necessários para o seu projeto ... é fácil manter sincronizado com o código a montante.