e5b1b4457f
- migliorata la gestione dei colori ( rimozione passaggi con esadecimali) - aggiunta la funzione di Undo per le curve di sincronizzazione per interpolazione.
64 lines
3.2 KiB
Lua
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)
|