Vers l’infini et au delà…

ogZoneTexte n’était pas fini… une fois annoncé je me suis rendu compte que j’avais oublié une partie assez importante : le scroll en dedans la zone de texte… + 2-3 manip util.

Les ajouts donc :

  • Scroll du texte en dedans la zone de texte (cas où le texte est plus grand que la zone de texte donc)
  • shift + home
  • shift + end
  • ctrl + a
  • Correction de la sélection pour les cas d’extrémités
  • Aller au début et aller à la fin (home et end)

Dis moi quelque chose…

Je commencerais par péter une case sur toute la structure OG qui a dut être modifiée partiellement pour une meilleur gestion du focus, des confilts de priorité des contrôles et autres brols importants mais chiants…

Ce qui fait que les contrôles composants un autre ne font plus partie de la liste d’enfant du contrôle parent. Gestion individuelle donc… pas cool.

Ensuite j’annonce, pas le journal, mais fière comme un paon : la zone de texte !!!

Fonctionnalités :

  • Pattern de caractères acceptables
  • Longueur maximale
  • Insertion et suppression (delete et backspace)
  • Sélection avec fleches du clavier + shift
  • Sélection avec la souris
  • On peut même écrire dedans ^^

A venir : le copier/coller (merci Arinwalf, comme si j’avais que ça à faire… ^^)

Les étapes successives :

  • Vide
  • Texte et curseur
  • Curseur
  • Sélection
  • Remplacement
  • Cadre de sélection (déja corrigé)

07-04-03-nterrain-ogzt-0 07-04-03-nterrain-ogzt-1 07-04-03-nterrain-ogzt-2 07-04-03-nterrain-ogzt-3 07-04-03-nterrain-ogzt-4 07-04-03-nterrain-ogzt-5

Je l’ai eu le premier !

Bureau ne s’auto-accroche plus aux événements de son parent car il ne pouvait pas lui dire directement qu’il interceptait ou pas la souris.

Dès lors, le parent appelle explicitement Bureau et celui-ci lui répond. Plus quelques corrections pour de meilleurs performances.

L’image de fond des ogImages est placable comme le texte d’un ogBouton. Precision et possibilités sont nos mots clés 🙂

ogJauge est le prochain contrôle, il est quasi prêt à être codé 🙂 !

Moi on me perce pas !

La Bureau est créé, cad la classe faisant la liaison des événements entre les OGs et la fenêtre de rendu.

07-03-16-nterrain-bureau

Le bureau sera souvent remanié dans le futur, nous le savons déjà, gérer les focus, les textes modifiables et bien sur la boite de messages !

Ensuite, comme dit récemment, l’ogBouton est fait !!! On avance donc bien. Cela n’a pas été sans mal et pas mal de correction on dû être faites, mais au final cela marche nickel 🙂 !

07-03-16-nterrain-ogbouton-

A savoir que tout est modifiable !

A venir : la fenêtre qui, à elle seule, regroupe chacun des éléments conçus jusqu’à présent.

Oups.. I didn’t again !

Je me suis avancé un peu vite pour dire qu’ogTexte fini. Ce qui est le cas actuellement.

Le texte s’affichait sans respecter son cadre d’affichage, il dépassait ouvertement et sans vergogne. Apres un dressage long et périlleux, ogTexte respecte son cadre et est meme capable de pousser ce cadre selon le texte (suivant une propriété).

De plus le sens vertical du texte est retiré. Autant faire un rendu texture et l’incliner se sera d’autant plus joli, ou directement faire une texture inclinée etc etc…

Voilà donc qui est fait 🙂

ogBouton quant à lui est bien entammé et des essais pourront se faire rapidement 🙂

Vertical Limit

Voici le mode vertical :

07-03-13-nterrain-og-7 07-03-13-nterrain-og-7b

Observez le nombre d’images/seconde, c’est très significatif. De plus le résultat avec Font System n’est valable que pour 1 seul mot/phrase mais surement pas pour un multiligne.

A moins de calculer pour chaque lettre leur milieu dans la colonne selon la moyenne préalablement calculée… bref un temps d’affichage encore plus exécrable… Mais pas impossible.

Sera développé si necessaire uniquement.

En avant pour l’ogBouton !

Hiéroglyphe ?

Dans la suite du développement du Bureau il faut d’abord dire que ogImage est fini et optimisé 🙂

07-03-09-nterrain-og-4

Explication : une texture devant etre carrée et suivant une puissance de 2, les images qui ne sont pas de ce format sont éttirées affin d’y arriver… Méchant DirectX, alors je suis remonté une couche plus haut, réécris le fichier bitmap à la volée et comblé le reste par du vide ce qui fait plaisir a DX et ce qui nous laisse notre image (ce qu’on en vois) à la bonne taille. Trucage dans la mémoire pour obtenir un visuel parfait et précis ! 🙂

Ensuite qu’ogImage s’est fait retirer les éléments vitaux dans une classe qui est devenus parente, sa mère : ObjetGraphique (pas su l’éviter) comme dans Lib’K.

Les bonus ce sont la gestion des événements auto-accrochés au parent, l’auto-ajout à la liste des fils du parent (si parent bien sur), ainsi que d’autres optimisations.

Ensuite, a pu démarrer l’écriture d’ogTexte… mais pas sans mal. Rappellez-vous Lib’K avec une interface commune pour lier FontBitmap et FontSystem… pas pratique… Apres de longues heures de recherche j’ai réussi a les faire cohabiter en gardant l’optimisation de chacun.

Il se sont tous fait réécrire ainsi que SpriteDiviser qui pourra même servir pour les textures animées.

Quelques exemples :

  • ogTexte mode Font System, normal
  • ogTexte mode Font System, interlignage
  • ogTexte mode Font System, interlignage + approche
  • ogTexte mode Font Bitmap, texture 1
  • ogTexte mode Font Bitmap, texture 2

07-03-11-nterrain-og-5h

07-03-11-nterrain-og-5i

07-03-11-nterrain-og-5j

07-03-13-nterrain-og-6

07-03-13-nterrain-og-6b

Remarquez la gestion du multilignes, de l’interlignage et de l’approche.

Il reste un mode écriture vertical à mettre au point qui n’est autre que l’inversion des coordonées.

A venir : ogBouton 🙂 on peut enfin commencer à combiner et à descendre dans la hierarchie familialle.