Files
Riccardo Elitropi e5b1b4457f Trimming 3.1b1 :
- migliorata la gestione dei colori ( rimozione passaggi con esadecimali)
- aggiunta la funzione di Undo per le curve di sincronizzazione per interpolazione.
2026-02-23 15:57:20 +01:00

64 lines
3.2 KiB
Lua

-- NewTrimming.lua by Egalware s.r.l. 2026/01/05
require( 'EgtBase')
_ENV = EgtProtectGlobal()
EgtEnableDebug( false)
-- Carico le costanti di Trimming
EgtAddToPackagePath( EgtGetSourceDir() .. '?.lua')
local GlobVar = require( 'TrimmingLib')
-- Costante di Errore
local ERROR_SETTINGS = 'Error in Surf Selection : '
-- Recupero il File Ini
local sFileIni = EgtGetIniFile()
if not sFileIni then
EgtOutBox( ERROR_SETTINGS .. '.ini File not Found', 'Error', 'ERROR', 'OK')
return
end
-- Recupero i Colori in Hex come stringhe
local sHexSurfSelColor = GlobVar.GetStringFromColor( SELECTION_SURF_COLOR)
local sHexEdgeColor = GlobVar.GetStringFromColor( EDGES_COLOR)
local sHexSyncLinesColor = GlobVar.GetStringFromColor( SYNC_LINE_COLOR)
local sHexSyncInterpLinesColor = GlobVar.GetStringFromColor( SYNC_LINE_INTERP_COLOR)
local sHexRuledBzColor = GlobVar.GetStringFromColor( RULED_BZ_COLOR)
if not sHexSurfSelColor or not sHexEdgeColor or not sHexSyncLinesColor or not sHexSyncInterpLinesColor or not sHexRuledBzColor then
EgtOutBox( ERROR_SETTINGS .. 'Error in Converting Colors', 'Error', 'ERROR', 'OK')
return
end
-- Apro la finestra di Dialogo per impostazione dei parametri di Default
local vsVal = EgtDialogBox( 'Settings', { 'Surf Selection','CP:'.. sHexSurfSelColor},
{ 'Edges', 'CP:'.. sHexEdgeColor},
{ 'SyncLines', 'CP:'.. sHexSyncLinesColor},
{ 'SyncLines Interpolation', 'CP:'.. sHexSyncInterpLinesColor},
{ 'Surf Ruled Bezier', 'CP:'.. sHexRuledBzColor})
if not vsVal or #vsVal ~= 5 then return end
-- Memorizzo i nuovi colori per le variabili
local SelSurfCol = GlobVar.GetColorFromString( vsVal[1])
local EdgeColor = GlobVar.GetColorFromString( vsVal[2])
local SyncLineColor = GlobVar.GetColorFromString( vsVal[3])
local SyncInterpLinesColor = GlobVar.GetColorFromString( vsVal[4])
local RuledBZColor = GlobVar.GetColorFromString( vsVal[5])
if not SelSurfCol or not EdgeColor or not SyncLineColor or not SyncInterpLinesColor or not RuledBZColor then
EgtOutBox( ERROR_SETTINGS .. 'Error in Converting Colors', 'Error', 'ERROR', 'OK')
return
end
-- Le nuove variabili di colore vengono aggiornate
SELECTION_SURF_COLOR = GlobVar.SetColorSurfSelection( SelSurfCol)
EDGES_COLOR = GlobVar.SetColorEdges( EdgeColor)
SYNC_LINE_COLOR = GlobVar.SetColorSyncLines( SyncLineColor)
SYNC_LINE_INTERP_COLOR = GlobVar.SetColorSyncInterpLines( SyncInterpLinesColor)
RULED_BZ_COLOR = GlobVar.SetColorRuledBz( RuledBZColor)
-- Aggiorno i Valori Memorizzati all'interno del File .ini
EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SELECTION_SURF_COLOR, GlobVar.GetColorForIniFile( SELECTION_SURF_COLOR), sFileIni)
EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_EDGES_COLOR, GlobVar.GetColorForIniFile( EDGES_COLOR), sFileIni)
EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SYNC_LINE_COLOR, GlobVar.GetColorForIniFile( SYNC_LINE_COLOR), sFileIni)
EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_SYNC_INTERP_COLOR, GlobVar.GetColorForIniFile( SYNC_LINE_INTERP_COLOR), sFileIni)
EgtWriteStringToIni( KEY_SECTION_NAME, KEY_INI_RULED_BZ_COLOR, GlobVar.GetColorForIniFile( RULED_BZ_COLOR), sFileIni)