Commit Graph

4 Commits

Author SHA1 Message Date
Adrestie ae0a4ab6b1 Listes de menu : largeur egale a celle du bouton, plus un plancher
camelot n'impose qu'un minimum et laisse la liste s'elargir si une entree
est plus longue. A la demande, c'est desormais une egalite : la liste
prend exactement la largeur de son bouton, quitte a serrer le texte d'une
entree plus longue.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 15:20:34 +02:00
Adrestie ef3955a9d9 Listes de menu : fond en neuf tranches, cale sur le bord du cadre
Camelot etire common-dropdown-bg d'un bord a l'autre. Mesure sur l'image
68 x 68 : le panneau n'occupe que x 9..58 et y 6..55, le reste est une
ombre de 9 / 6 / 9 / 12 et les angles sont coupes sur 6. Etiree sur une
liste de 200 x 130, cette ombre est multipliee par 3,3 en largeur et par
2 en hauteur -- le filet rentre d'une vingtaine de pixels, les angles
s'ecrasent et le bas du panneau remonte au-dessus de la derniere ligne.

ForeverUI.CreateNineSlice decoupe une image en neuf : coins a leur
taille, bords etires dans un seul sens, centre dans les deux. Coin de 18
(ombre la plus epaisse 12 + pan coupe 6), marges prises sur l'image pour
que le filet tombe sur le bord du cadre.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 09:09:32 +02:00
Adrestie 4ab5c5342c Listes de menu : la largeur suit le menu deroulant
DropdownButtonMixin:RegisterMenu pose SetMinimumWidth(self:GetWidth())
quand la description du menu n'impose rien : la liste fait au moins la
largeur du bouton qui l'ouvre. 3.3.5 ne la taillait que sur son texte le
plus long.

Le plancher se pose a l'affichage de la liste -- ToggleDropDownMenu
retient UIDROPDOWNMENU_OPEN_MENU avant de la montrer et ne verifie le
debord d'ecran qu'apres -- et se repose derriere UIDropDownMenu_Refresh,
qui retaille. Les lignes gardent l'ecart de 25 du client.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 09:03:13 +02:00
Adrestie b7213e7ff4 Listes des menus deroulants a la DA de camelot
Un seul cadre pour tout le jeu : DropDownList1 et 2. camelot fait pareil
-- GetDefaultMenuMixin et GetDefaultContextMenuMixin rendent le meme
MenuStyle1Mixin -- donc l'habillage vaut pour tous les menus.

Saveur tranchee par l'art : les atlas common-dropdown-classic-* que cite
classic/ n'existent nulle part dans ce client, tandis que les
common-dropdown-* de mainline/ ont tous leur variante c60.

Fond common-dropdown-bg-c60 a (-10, 3) / (10, -3), alpha 0,925, a la
place des deux Backdrop d'epoque -- retires par SetBackdrop(nil), car
ToggleDropDownMenu relevera un cadre masque. Lignes de 20, police
GameFontHighlightLeft, case common-dropdown-ticksquare avec la coche
jaune par-dessus. Surbrillance et fleche de sous-menu etaient deja
identiques.

Deux feuilles versees : commondropdownc60 et commondropdown (la case et
la coche n'ont pas de variante c60).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 08:56:19 +02:00