TextEdition

TextTextEdition was designed for programmers only. This is a C library which is supposed to make much easier the creation of text fields when you’re using the SDL Library. It offers many possibilities and is very flexible and efficient. It is able to handle multi-lines text fields with automatic scrolling bars. The last version is made for the SDL 2.0 and offers transparent text boxes!

Basic information:

  • Last version: 0.18 beta (Jan 2nd, 2015)
  • Operating systems: In theory all standard systems, but tested only with Windows Vista and Linux Ubuntu.
  • Language: Source code in English
  • License:  GNU GPL v2.0 (please read this page carefully)

Well-known bugs:

Currently, no bug was reported since I uploaded the last version. But don’t think there is no one! 😉

Repository:

https://github.com/CokieForever/TextEdition

Screenshot:

textedition-preview

5 responses to “TextEdition”

  1. Khemal says :

    Bonjour,
    Bravo pour TextEdition, joli travail !!
    Est-il possible de régler la vitesse des inputs, à la manière de SDL_EnableKeyRepeat ?

    • qndessou says :

      Bonjour,
      Merci pour le retour !
      Pour autant que je m’en souvienne, c’est justement la fonction SDL_EnableKeyRepeat() qui règle la vitesse des entrées. La gestion des événements reste du ressort du programmeur, pour plus de flexibilité justement, donc un appel à la fonction avant la boucle de traitement des événements suffit. 🙂

      • Khemal says :

        Bonsoir, à vrai dire, SDL_EnableKeyRepeat n’a pas l’air de changer quoi que ce soit aux inputs de TE. En fixant le delay de la fonction à 0, en théorie, il n’y a plus de répétition de caractères, pourtant TE continue d’en rajouter.

        Voici un exemple : http://pastebin.com/GDsetuzC
        La flèche de droite montre bien l’absence de répétition.

  2. Khemal says :

    [EDIT] Oups, il y a un D qui s’est glissé dans le code pastebin ligne 87 !! 🙂

    • qndessou says :

      Bonjour,

      Désolé pour le délai, je n’ai pas eu le temps de m’attacher au problème plus tôt. Mais en fait, c’est très simple, il suffit d’initialiser le contenu de la variable event à {0}. Sans cela, elle reprend la même valeur qu’à la boucle précédente… Un événement comme SDL_KEYDOWN est donc interprété comme répété, alors qu’en fait c’est juste le même qu’à la précédente boucle. Une telle erreur est d’autant plus problématique qu’elle se produira pour tous les événements… Toujours penser à initialiser les variables ! 😉

Please comment!