Move common data structures for HFS and HFS+ to common class.

This commit is contained in:
2020-02-19 03:40:16 +00:00
parent 999657502b
commit 5bbac37a21
4 changed files with 64 additions and 66 deletions

View File

@@ -89,6 +89,14 @@ namespace DiscImageChef.Filesystems
public readonly uint bbSysHeapFract;
}
internal struct Rect
{
public ushort top;
public ushort left;
public ushort bottom;
public ushort right;
}
internal struct Point
{
public ushort v;
@@ -108,5 +116,45 @@ namespace DiscImageChef.Filesystems
/// <summary>Folder file belongs to (used only in flat filesystems like MFS).</summary>
public FinderFolder fdFldr;
}
internal struct FXInfo
{
/// <summary>Resource fork ID of file icon.</summary>
public ushort fdIconID;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
public byte[] fdUnused;
/// <summary>Extended flags. If high-bit is set, most significant byte is script code and least significant byte are flags.</summary>
public ExtendedFinderFlags fdXFlags;
/// <summary>Resource fork ID of directory comment if high bit is clear.</summary>
public ushort fdComment;
/// <summary>Put away folder ID.</summary>
public uint fdPutAway;
}
internal struct DInfo
{
/// <summary>Position and dimensions of the folder's window.</summary>
public Rect frRect;
/// <summary>Flags.</summary>
public FinderFlags frFlags;
/// <summary>Folder's location in the parent folder.</summary>
public Point frLocation;
/// <summary>Finder view selected for folder.</summary>
public ushort frView;
}
internal struct DXInfo
{
/// <summary>Scroll position for icon views.</summary>
public Point frScroll;
/// <summary>Directory ID chain of open folders.</summary>
public uint frOpenChain;
/// <summary>Extended flags. If high-bit is set, most significant byte is script code and least significant byte are flags.</summary>
public ExtendedFinderFlags frXFlags;
/// <summary>Resource fork ID of directory comment if high bit is clear.</summary>
public ushort frComment;
/// <summary>Put away folder ID.</summary>
public uint frPutAway;
}
}
}