fix remapping behavior. Remapping is only necessary if we are rendering on the workbe...
[AROS-Contrib.git] / scalos / main / Prefs.h
blob450172984c487a49ca5a6a8efd0d3a56aeb4156c
1 // pref_s.h
2 // $Date$
3 // $Revision$
5 #ifndef SCALOSPREFS_H
6 #define SCALOSPREFS_H
8 // values in ScalosPalettePrefs
9 // >>> !!! when doing changes here, don't forget to update PenNames.h """
10 enum vScalosPenIndex
12 PENIDX_HSHINEPEN, PENIDX_HSHADOWPEN,
13 PENIDX_ICONTEXTOUTLINEPEN,
14 PENIDX_DRAWERTEXT, PENIDX_DRAWERTEXTSEL,
15 PENIDX_DRAWERBG,
16 PENIDX_FILETEXT, PENIDX_FILETEXTSEL,
17 PENIDX_FILEBG,
18 PENIDX_BACKDROPDETAIL, PENIDX_BACKDROPBLOCK,
19 PENIDX_TOOLTIP_TEXT, PENIDX_TOOLTIP_BG,
20 PENIDX_DRAGINFOTEXT_TEXT, PENIDX_DRAGINFOTEXT_BG,
21 PENIDX_STATUSBAR_BG, PENIDX_STATUSBAR_TEXT,
23 PENIDX_ICONTEXTPEN,
24 PENIDX_ICONTEXTPENSEL, PENIDX_ICONTEXTSHADOWPEN,
26 PENIDX_THUMBNAILBACKGROUNDPEN,
27 PENIDX_THUMBNAILBACKGROUNDPENSEL,
29 PENIDX_ICONTEXTPENBGSEL,
31 PENIDX_MAX // max. Pen Index - 1
32 // >>> !!! when doing changes here, don't forget to update PenNames.h """
35 enum ScalosDrawerSortType
37 DRAWER_SORT_First,
38 DRAWER_SORT_Last,
39 DRAWER_SORT_Inbetween,
42 struct ScalosFontPrefs
44 UBYTE fprf_FontFrontPen; // Icon font foreground pen
45 UBYTE fprf_FontBackPen; // Icon font background pen
46 UBYTE fprf_TextDrawModeSel; // Icon font selected state draw mode (JAM1, JAM2, ...)
47 UBYTE fprf_TextDrawMode; // Icon font draw mode (JAM1, JAM2, ...)
48 struct TextAttr fprf_TextAttr; // Icon font attributes
49 STRPTR fprf_AllocName; // Allocated string for ta_Name
52 struct ScalosPalettePrefs
54 ULONG *pal_ScreenColorList; // +jl+ 20010801 screen color table in LoadRGB32() format
55 LONG pal_AllocatedPens[PENIDX_MAX];
56 WORD pal_PensList[PENIDX_MAX]; // +jl+ 20010731 Scalos pen list
57 WORD pal_origPensList[PENIDX_MAX]; // copy of pref_PensList with the values originally read
58 WORD pal_driPens[13]; // +jl+ 20010801 dri_Pens array
61 struct ScalosPatternPrefs
63 UBYTE patt_AsyncBackFill; // +jl+ 20011118 Layout backfill patterns asynchronously
64 UBYTE patt_UseFriendBitMap; // +jl+ 20011118 Make a copy of the backfill pattern ?
65 UBYTE patt_NewRenderFlag; // +jl+ 20011122 ReRender after resize
66 UBYTE patt_RandomizeEverytime; // +jl+ 20011130 Always randomize patterns
68 WORD patt_DefWBPatternNr; // +jl+ 20010825 Workbench backdrop pattern number
69 WORD patt_DefWindowPatternNr; // +jl+ 20010826 icon window pattern number
70 WORD patt_DefTextWinPatternNr; // +jl+ 20010826 text window pattern number
71 WORD patt_DefScreenPatternNr; // +jl+ 20010825 Screen pattern number
73 BYTE patt_AsyncProcTaskPri; // +jl+ 20011118 AsyncProc priority
76 struct ScalosPrefs
78 APTR pref_Handle; // +jl+ 20011129 PrefsHandle of the Scalos.prefs
80 UBYTE pref_AutoCleanupOnResize; // automatic icon clean on window resize
81 UBYTE pref_AutoLeaveOut; // dragging icon to desktop automatically updates .backdrop
82 UBYTE pref_MarkIconUnderMouse; // Flag: icons are highlighted while mouse pointer is over them.
84 UBYTE pref_DragType; // Drag&Drop type (image only / image+text)
85 UBYTE pref_AutoRemoveFlag; // Auto remove icons on D&D
86 UBYTE pref_DragMethod;
88 UWORD pref_ThumbNailWidth; // Default width for thumbnails
89 UWORD pref_ThumbNailHeight; // Default height for thumbnails
90 UWORD pref_ThumbnailMaxAge; // Maximum number of days unaccessed thumbnails are cached
91 UWORD pref_ThumbnailMinSizeLimit; // Minimum dimensions for images to cache.
93 UBYTE pref_ShowThumbnails; // Flag: display image icons as thumbnails
94 BYTE pref_ShowThumbnailsAsDefault; // +jmc+ Display thumbnails icons using "ShowOnlyicons" show mode for default icons.
95 ULONG pref_ThumbnailQuality; // Thumbnail generation quality
96 BYTE pref_ThumbnailsSquare; // Flag: always generate square thumbnail icons
98 struct ImageBorders pref_ThumbnailImageBorders;
100 UBYTE pref_ThumbnailFillBackground; // Flag: background of square thumbnails is filled with PENIDX_THUMBNAILBACKGROUNDPEN
101 UWORD pref_ThumbnailBackgroundTransparency; // percentage of thumbnail background transparency
103 struct ARGB pref_IconHighlightK; // RGB color shift for icon highlighting
104 UBYTE pref_DragTranspMode; // 0=solid/trans, 1=always solid, 2=always trans, 3=solid/trans
106 ULONG pref_DragTranspObjects;
108 UBYTE pref_RealTransFlag; // +jl+ Flag: Use real transparency for bobs if available
109 UBYTE pref_WindowDropMarkMode; // +jl+ 20011208 Mode for display of window drop marks
111 UBYTE pref_DefaultShowAllFiles; // Default "show all": DDFLAGS_SHOWDEFAULT,
112 UBYTE pref_DefaultViewBy; // IDTV_ViewModes_Default views mode
114 UBYTE pref_SelectTextIconName; // Flag: text icons selectable area is limited to the "name" column
116 struct IconCleanSpace pref_CleanupSpace; // cleanup spaces around icons
118 CONST_STRPTR pref_DefIconPath; // +jl+ 20010619 path for default icons
120 BYTE pref_TextWindowStriped; // +jl+ 20010916 Flag: Draw stripes in text windows
121 UBYTE pref_ShowDDCountText; // +jl+ 20011205 Flag: on D&D, show number of object dragged
122 UBYTE pref_DDIconsMayOverlap; // +jl+ 20011013 Flag: no icon overlap checking when D&D
123 BYTE pref_UseOldDragIcons; // +jl+ 20010814 Flag: use old drag (all icons visible) instead of new icon stack
124 BYTE pref_DisplayStatusBar; // +jl+ 30010731 Flag: display status bar in scalos windows
125 BYTE pref_EnableTooltips; // +jl+ 20010626 Flag: enable icon tool tips
126 BYTE pref_EnableSplash; // +jl+ 20010626 Flag: enable Splash window on startup
127 BYTE pref_EnablePopupWindows; // Flag: enable "spring-loaded" popup windows during D&D
128 UWORD pref_SplashHoldTime; // +jl+ 20030705 Hold time for splash window in seconds
130 BYTE pref_ColumnsArray[WIDTHARRAY_MAX]; // +jl+ 20010311 Text window title columns
132 UWORD pref_TypeRestartTime; // +jl+ 20011005 Time in s before restarting keyboard icon selection
134 UWORD pref_PopupWindowDelaySeconds; // Time in s before drawer window pops up during D&D
136 ULONG pref_FileCountTimeout; // +jl+ 20011214 Timeout for file transfer counting in ms
137 ULONG pref_FileTransWindowDelay; // +jl+ 20011215 Open delay for file transfer window in ms
139 BYTE pref_ConsoleName[256];
141 CONST_STRPTR pref_MainWindowTitle; // +jl+ 20010707 title string for device windows
142 CONST_STRPTR pref_StandardWindowTitle; // +jl+ 20010707 title string for drawer windows
144 CONST_STRPTR pref_WBStartupDir; // +jl+ 20010914 Path to WBStartup dir
145 CONST_STRPTR pref_ScalosHomeDir; // +jl+ 20011129
146 CONST_STRPTR pref_DefDiskCopy; // +jl+ 20010217 path to DiskCopy
147 CONST_STRPTR pref_ThumbDatabasePath; // Path of thumbnail cache database file
148 CONST_STRPTR pref_ThemesDir; // default path for THEME:
149 CONST_STRPTR pref_ImageCacheDir; // default path for datatypes image cache
150 CONST_STRPTR pref_SQLiteTempDir; // path for SQLite3 temporary files
152 UBYTE pref_GroupSeparator; // +jl+ 20010829 separates groups of digits, see locale.h
153 UBYTE pref_TitleRefreshSec; // +jl+ 20010831 number of seconds for Title-refresh
154 BYTE pref_RefreshOnMemChg; // +jl+ 20010831 Refresh title only on memchange
156 UBYTE pref_WinTitleRefreshSec; // +jmc+ 20050327 number of seconds for windows Title-refresh
157 BYTE pref_WinRefreshOnMemChg; // +jmc+ 20050327 Refresh windows title only on memchange
159 UBYTE pref_CheckOverlappingIcons; // Flag: always check for overlapping icons, and reposition conflicting icons.
160 // this is the global default, can be overridden for each Scalos window
162 UBYTE pref_TextMode; // +jl+ Normal/Outline/Shadow
163 BYTE pref_MenuCurrentDir; // +jl+ 20010603 New Currentdir on all windows
164 UBYTE pref_SaveDefIcons; // +jl+ 20010701 Deficons are saveable ?
165 UBYTE pref_DefIconsFirst; // +jl+ 20010619 Flag: try Def-Diskicons first
166 UBYTE pref_ClickTransp; // +jl+ 20010530 Click on Images only ?
167 UBYTE pref_SmartRefresh; // +jl+ 20010831 1=all windows smart refresh
168 UBYTE pref_UseExAll; // +jl+ Flag: Use ExAll for directory scanning
169 UBYTE pref_CreateSoftLinks; // Flag: D&D Create Soft Links
170 UBYTE pref_DiskRefresh; // +jl+ 20010925 number of seconds for Diskicon-refresh
171 UBYTE pref_DoWaitDelay; // +jl+ 20011001 number of seconds to wait
172 UBYTE pref_MMBMoveFlag; // +jl+ 20010312 Flag: MMB mouse move (2 = inverse move) ??
173 UBYTE pref_FullPopupFlag; // +jl+ 20010303 Flag: WindowPopup not just on windowtitle
174 UBYTE pref_HideHiddenFlag; // +jl+ Hide hidden files
176 UBYTE pref_HideProtectHiddenFlag; // +jmc+ Protection bit=hidden files
178 UBYTE pref_DragStartFlag;
179 UBYTE pref_EasyMultiselectFlag; // +jl+ 20011123 Multiselection without SHIFT key.
180 UBYTE pref_EasyMultiDragFlag; // +jl+ dragging of multiple selected icons without SHIFT key.
181 UBYTE pref_DisableCloseWorkbench; // +jl+ 20010623 Flag: disable CloseWorkbench()
182 UBYTE pref_PopTitleFlag; // +jl+ 20011129 Install the Commodity
183 UBYTE pref_FullBenchFlag; // +jl+ 20010709 Flag: FullBench
184 UBYTE pref_HardEmulation; // +jl+ 20011129 Flag: Use private WB patches
185 UBYTE pref_WBBackdrop; // +jl+ 20011127 Flag: Mainwindow in backdrop mode
186 UBYTE pref_IconTextMuliLine; // +jl+ 20040520 Flag: Allow splitting of icon labels into multiple lines
187 UBYTE pref_EnableDropMenu; // +jl+ Flag: use drop menu for copy/move/create link selection
188 UBYTE pref_SelectedTextRectangle; // Flag: Draw rectangle around selected icon text
190 UWORD pref_FrameType; // +jl+
191 UWORD pref_FrameTypeSel; // +jl+
192 UWORD pref_ThumbnailFrameType; // +jl+
193 UWORD pref_ThumbnailFrameTypeSel; // +jl+
194 struct ImageBorders pref_ImageBorders;
195 UWORD pref_TextSkip; // +jl+
197 UWORD pref_SelTextRectBorderX; // Additional horizontal border around selected icon text rectangle
198 UWORD pref_SelTextRectBorderY; // Additional vertical border around selected icon text rectangle
199 UWORD pref_SelTextRectRadius; // Radius for selected icon text rectangle corners
201 UWORD pref_DefaultLinePattern; // +jl+ 20010809 line pattern for lasso
202 UWORD pref_DefLineSpeed;
204 LONG pref_WindowHScroll; // +dm+ 20011106
205 LONG pref_WindowVScroll; // +dm+ 20011106
207 struct IBox pref_DefWindowBox; // +jl+ 20010707 default box for new Scalos windows
208 struct IBox pref_WBWindowBox; // +jl+ 20010831 Main window IBox
210 WORD pref_WBWindowXOffset; // +jl+ 20010831 Main window x offset
211 WORD pref_WBWindowYOffset; // +jl+ 20010831 Main window y offset
213 ULONG pref_CopyQualifier; // +jl+ 20030709 Key qualifier to force D&D copy operation
214 ULONG pref_PopupApplySelectedQualifier; // +jl+ 20030709 Key qualifier to apply popup menus to all selected icons
215 ULONG pref_MakeLinkQualifier; // Key qualifier to force D&D to create links
216 ULONG pref_ForceMoveQualifier; // Key qualifier to force D&D move operation
217 ULONG pref_SingleWindowLassoQualifier; // Key qualifier to use single-window lasso operation
218 BYTE pref_PopupApplySelectedAlways; // Flag: popup menus always apply to every selected icon
220 T_TIMEVAL pref_ClickDelay; // +jl+ 20011123
222 ULONG pref_SupportedIconTypes; // Flags - decide if NewIcons, color icons are supported
224 ULONG pref_LinkTextStyle; // icon text style for links
226 ULONG pref_ToolTipDelaySeconds; // time in seconds until icon tool tips will show up
228 ULONG pref_DefaultStackSize; // default stack size
230 ULONG pref_WindowTitleSize; // +jl+ 20020210 size of window title buffer
231 ULONG pref_ScreenTitleSize; // +jl+ 20020210 size of screen title buffer
233 CONST_STRPTR pref_ScreenTitle; // +jl+ 20011129 screen title string
235 UWORD pref_DragTransparency; // percentage of transparency during D&D [0..100%]
236 UWORD pref_IconShadowTransparency; // percentage of transparency for icon shadows [0..100%]
237 UWORD pref_DefaultIconTransparency; // percentage of transparency default icons [0..100%]
238 UWORD pref_TooltipsTransparency; // percentage of transparency for Tooltips [0..100%]
240 ULONG pref_iCandy;
242 UBYTE pref_TTFontAntialias; // Antialiasing for TrueType fonts
243 WORD pref_TTFontGamma; // 1000 * gamma correction for TrueType fonts
244 char pref_ScreenTTFontDescriptor[256]; // TrueType font descriptor for screen font
245 char pref_IconTTFontDescriptor[256]; // TrueType font descriptor for icon font
246 char pref_TextWindowTTFontDescriptor[256]; // TrueType font descriptor for text window font
247 BYTE pref_UseScreenTTFont; // Flag: Use TrueType screen font
248 BYTE pref_UseIconTTFont; // Flag: Use TrueType icon font
249 BYTE pref_UseTextWindowTTFont; // Flag: Use TrueType text window font
251 ULONG pref_CopyBuffLen; // size of file copy buffer
253 struct Rectangle pref_IconSizeConstraints; // size limits for icons, larger or smaller icons are scaled
254 UWORD pref_IconScaleFactor; // standard icon scaling factor in percent
256 UBYTE pref_DeviceWindowLayoutModes[ICONTYPE_MAX]; // Icon layout modes for desktop window
257 UBYTE pref_IconWindowLayoutModes[ICONTYPE_MAX]; // Icon layout modes for icon window
259 struct ScalosTextAttr pref_TextModeTextAttr; // +jl+ 20011129 TextAttr for text window font
260 struct ScalosTextAttr pref_IconFontAttr; // +jl+ 20010826 Icon font TextAttr
262 UWORD pref_ActiveWindowTransparency; // percentage of active Scalos window transparency
263 UWORD pref_InactiveWindowTransparency; // percentage of inactive Scalos window transparency
265 struct ARGB pref_SelectMarkerBaseColor; // base color for text window selection marker
266 UBYTE pref_SelectMarkerTransparency; // transparency for text window selection marker (0..255)
268 ULONG pref_MaxUndoSteps; // maximum number of Undo/Redo steps
270 enum ScalosDrawerSortType pref_DrawerSortMode; // where are drawers sorted in text windows (first/last/mixed)
273 #endif /* SCALOSPREFS_H */