public override void Write(FileWriter writer, LayoutHeader header) { long startPos = writer.Position - 8; writer.Write(AnimationOrder); writer.Write((ushort)Groups.Count); writer.Write(uint.MaxValue); //animNameOffset writer.Write(uint.MaxValue); //groupNamesOffset if (header.VersionMajor >= 8) { writer.Write(0); //unk } writer.Write((ushort)StartFrame); writer.Write((ushort)EndFrame); writer.Write(ChildBinding); writer.Write(UnknownData); writer.WriteUint32Offset(startPos + 12, startPos); writer.WriteString(Name); writer.Align(4); writer.WriteUint32Offset(startPos + 16, startPos); for (int i = 0; i < Groups.Count; i++) { writer.WriteString(Groups[i], 0x14); } writer.Align(4); }
public override void Write(FileWriter writer, LayoutHeader header) { long startPos = writer.Position - 8; base.Write(writer, header); writer.Write(Properties.Count); writer.Write(MagnifyX); writer.Write(MagnifyY); for (int i = 0; i < Properties.Count; i++) { Properties[i].Write(writer, header, startPos); } writer.WriteString(LayoutFileName); writer.Align(4); // for (int i = 0; i < Properties.Count; i++) // Properties[i].WriteProperties(writer, header, startPos); // for (int i = 0; i < Properties.Count; i++) // Properties[i].WriteUserData(writer, header, startPos); for (int i = 0; i < Properties.Count; i++) { Properties[i].WriteProperties(writer, header, startPos); Properties[i].WriteUserData(writer, header, startPos); Properties[i].WritePaneInfo(writer, header, startPos); } }
public override void Write(FileWriter writer, LayoutHeader header) { writer.Write(DrawFromCenter); writer.Seek(3); writer.Write(Width); writer.Write(Height); }
public override void Write(FileWriter writer, LayoutHeader header) { long pos = writer.Position; base.Write(writer, header); writer.Write(TextLength); writer.Write(MaxTextLength); writer.Write(MaterialIndex); writer.Write(FontIndex); writer.Write(TextAlignment); writer.Write(LineAlignment, false); writer.Write(_flags); writer.Seek(1); long _ofsTextPos = writer.Position; writer.Write(0); //text offset writer.Write(FontForeColor.ToBytes()); writer.Write(FontBackColor.ToBytes()); writer.Write(FontSize); writer.Write(CharacterSpace); writer.Write(LineSpace); writer.WriteUint32Offset(_ofsTextPos, pos); if (RestrictedTextLengthEnabled) { writer.WriteString(Text, MaxTextLength); } else { writer.WriteString(Text, TextLength); } }
private void LoadRecent([NotNull] IEnumerable <LayoutHeader> layouts) { Debug.ArgumentNotNull(layouts, nameof(layouts)); var list = AppHost.Settings.Get(LayoutSelectorRecent, GetStorageKey(), string.Empty) as string; if (string.IsNullOrEmpty(list)) { return; } var items = list.Split('|'); AddSection(Rocks.Resources.LayoutSelector_LoadRecent_Recently_Used_Layouts); foreach (var item in items) { var parts = item.Split('^'); var name = parts[0]; var itemId = new ItemId(new Guid(parts[1])); var layoutUri = new ItemUri(DatabaseUri, itemId); var templateHeader = layouts.FirstOrDefault(header => header.LayoutUri == layoutUri); if (templateHeader == null) { continue; } var layoutHeader = new LayoutHeader(layoutUri, name, templateHeader.Icon, templateHeader.Path, Rocks.Resources.Recent); AddLayoutItem(layoutHeader); } }
private void WritePanes(FileWriter writer, BasePane pane, LayoutHeader header, ref int sectionCount) { WriteSection(writer, pane.Signature, pane, () => pane.Write(writer, header)); sectionCount++; if (pane is IUserDataContainer && ((IUserDataContainer)pane).UserData != null && ((IUserDataContainer)pane).UserData.Entries.Count > 0) { var userData = ((IUserDataContainer)pane).UserData; WriteSection(writer, "usd1", userData, () => userData.Write(writer, this)); sectionCount++; } if (pane.HasChildern) { sectionCount += 2; //Write start of children section WriteSection(writer, "pas1", null); foreach (var child in pane.Childern) { WritePanes(writer, child, header, ref sectionCount); } //Write pae1 of children section WriteSection(writer, "pae1", null); } }
public void WritePaneInfo(FileWriter writer, LayoutHeader header, long startPos) { if (PaneInfo != null) { writer.WriteUint32Offset(_ofsPos + 8, startPos); writer.Write(PaneInfo); } }
public void WriteProperties(FileWriter writer, LayoutHeader header, long startPos) { if (Property != null) { writer.WriteUint32Offset(_ofsPos, startPos); Header.WriteSection(writer, Property.Signature, Property, () => Property.Write(writer, header)); } }
public void WriteUserData(FileWriter writer, LayoutHeader header, long startPos) { if (UserData != null) { writer.WriteUint32Offset(_ofsPos + 4, startPos); UserData.Write(writer, header); } }
public override void Write(FileWriter writer, LayoutHeader header) { base.Write(writer, header); writer.Write(ColorTopLeft.ToBytes()); writer.Write(ColorTopRight.ToBytes()); writer.Write(ColorBottomLeft.ToBytes()); writer.Write(ColorBottomRight.ToBytes()); writer.Write(MaterialIndex); writer.Write(TexCoords != null ? TexCoords.Length : 0); }
public void Write(FileWriter writer, LayoutHeader header) { _pos = writer.Position; writer.Write(0); //nameOffset writer.Write(0); //dataOffset writer.Write((ushort)GetDataLength()); writer.Write(Type, false); writer.Write(Unknown); }
public override void Write(FileWriter writer, LayoutHeader header) { writer.Write(DrawFromCenter); writer.Seek(3); writer.Write(Width); writer.Write(Height); writer.Write(MaxPartsWidth); writer.Write(MaxPartsHeight); writer.WriteString(Name); }
public override void Write(FileWriter writer, LayoutHeader header) { writer.WriteString(Name, 0x10); writer.Write((ushort)Panes.Count); writer.Seek(2); for (int i = 0; i < Panes.Count; i++) { writer.WriteString(Panes[i], 0x10); } }
public override void Write(FileWriter writer, LayoutHeader header) { long startPos = writer.Position - 8; if (!Edited) { writer.Write(this.Data); return; } writer.Write((ushort)Entries.Count); writer.Write((ushort)0); long enryPos = writer.Position; for (int i = 0; i < Entries.Count; i++) { ((USD1Entry)Entries[i]).Write(writer, header); } for (int i = 0; i < Entries.Count; i++) { writer.WriteUint32Offset(Entries[i]._pos + 4, Entries[i]._pos); switch (Entries[i].Type) { case UserDataType.String: writer.WriteString(Entries[i].GetString()); break; case UserDataType.Int: writer.Write(Entries[i].GetInts()); break; case UserDataType.Float: writer.Write(Entries[i].GetFloats()); break; case UserDataType.StructData: foreach (UserDataStruct structure in Entries[i].GetStructs()) { structure.Write(writer, header); } break; } } //Write strings after for (int i = 0; i < Entries.Count; i++) { writer.WriteUint32Offset(Entries[i]._pos, Entries[i]._pos); writer.WriteString(Entries[i].Name); } }
public override void Write(FileWriter writer, LayoutHeader header) { writer.Write(_flags1); writer.Write(Alpha); writer.Write(PaneMagFlags); writer.WriteString(Name, 0x18); writer.Write(Translate); writer.Write(Rotate); writer.Write(Scale); writer.Write(Width); writer.Write(Height); }
public void Write(FileWriter writer, LayoutHeader header, long startPos) { writer.WriteString(Name, 0x18); writer.Write(UsageFlag); writer.Write(BasicUsageFlag); writer.Write(MaterialUsageFlag); writer.Write((byte)0); //Reserve offset spaces _ofsPos = writer.Position; writer.Write(0); //Property Offset writer.Write(0); //External User Data writer.Write(0); //Panel Info Offset }
public void WriteUserData(FileWriter writer, LayoutHeader header, long startPos) { if (UserData != null) { writer.WriteUint32Offset(_ofsPos + 4, startPos); long pos = writer.Position; writer.WriteSignature("usd1"); writer.Write(uint.MaxValue); UserData.Write(writer, header); writer.Align(4); writer.WriteSectionSizeU32(pos + 4, pos, writer.Position); } }
public async Task Create(CreateLayoutHeaderDto input) { var header = _dividingplanheaderRepository.Get(input.DividingPlanHeaderId); var @layoutheader = input.MapTo <LayoutHeader>(); @layoutheader.TenantId = AbpSession.GetTenantId(); @layoutheader = LayoutHeader.Create(input.LayoutJson, input.Remark); header.LayoutHeaders.Add(@layoutheader); await CurrentUnitOfWork.SaveChangesAsync(); }
public override void Write(FileWriter writer, LayoutHeader header) { byte originL = (byte)OriginXMap.FirstOrDefault(x => x.Value == originX).Key; byte originH = (byte)OriginYMap.FirstOrDefault(x => x.Value == originY).Key; writer.Write(_flags1); writer.Write((byte)(((int)originL) + ((int)originH * 3))); writer.Write(Alpha); writer.Write(PaneMagFlags); writer.WriteString(Name, 0x18); writer.Write(Translate); writer.Write(Rotate); writer.Write(Scale); writer.Write(Width); writer.Write(Height); }
void TryScrollToHeader(LayoutElement element) { LayoutHeader header = element as LayoutHeader; if (header == null) { header = element.GetParentByType <LayoutHeader>(); } if (header == null) { return; } LayoutPageArea nearestPageArea = ((LayoutPage)header.Parent).PageAreas.First; ScrollToPosition(nearestPageArea.Range.Start); }
private ListBoxItem AddLayoutItem([NotNull] LayoutHeader layoutHeader) { Debug.ArgumentNotNull(layoutHeader, nameof(layoutHeader)); var item = new ListBoxItem { Tag = layoutHeader, Content = layoutHeader.Name, ToolTip = layoutHeader.Path, Margin = new Thickness(16, 0, 0, 0) }; Layouts.Items.Add(item); return(item); }
public static void GetLayoutsAsync([NotNull] this DataService dataService, [NotNull] DatabaseUri databaseUri, [NotNull] GetItemsCompleted <LayoutHeader> completed) { Assert.ArgumentNotNull(dataService, nameof(dataService)); Assert.ArgumentNotNull(databaseUri, nameof(databaseUri)); Assert.ArgumentNotNull(completed, nameof(completed)); ExecuteCompleted c = delegate(string response, ExecuteResult executeResult) { if (!DataService.HandleExecute(response, executeResult)) { completed(Enumerable.Empty <LayoutHeader>()); return; } var list = new List <LayoutHeader>(); var doc = GetDocument(response); if (doc == null) { completed(Enumerable.Empty <LayoutHeader>()); return; } var root = doc.Root; if (root == null) { completed(Enumerable.Empty <LayoutHeader>()); return; } foreach (var child in root.Elements()) { var itemId = new ItemId(new Guid(child.GetAttributeValue("id"))); var itemUri = new ItemUri(databaseUri, itemId); var parentPath = (Path.GetDirectoryName(child.GetAttributeValue("path")) ?? string.Empty).Replace("\\", "/"); var layout = new LayoutHeader(itemUri, child.Value, child.GetAttributeValue("icon"), child.GetAttributeValue("path"), parentPath); list.Add(layout); } completed(list); }; dataService.ExecuteAsync("Layouts.GetLayouts", c, databaseUri.DatabaseName.ToString()); }
public override void Write(FileWriter writer, LayoutHeader header) { writer.Write((ushort)Fonts.Count); writer.Seek(2); //Fill empty spaces for offsets later long pos = writer.Position; writer.Write(new uint[Fonts.Count]); //Save offsets and strings for (int i = 0; i < Fonts.Count; i++) { writer.WriteUint32Offset(pos + (i * 4), pos); writer.WriteString(Fonts[i]); } }
public override void Write(FileWriter writer, LayoutHeader header) { writer.Write((ushort)Textures.Count); writer.Seek(2); //Fill empty spaces for offsets later and also add another for padding long pos = writer.Position; writer.Write(new uint[Textures.Count * 2]); //Save offsets and strings for (int i = 0; i < Textures.Count; i++) { writer.WriteUint32Offset(pos + (i * 8), pos); writer.WriteString(Textures[i]); } }
public override void Write(FileWriter writer, LayoutHeader header) { base.Write(writer, header); writer.Write(ColorTopLeft.ToBytes()); writer.Write(ColorTopRight.ToBytes()); writer.Write(ColorBottomLeft.ToBytes()); writer.Write(ColorBottomRight.ToBytes()); writer.Write(MaterialIndex); writer.Write(TexCoords != null ? (byte)TexCoords.Length : (byte)0); writer.Write((byte)0); for (int i = 0; i < TexCoords.Length; i++) { writer.Write(TexCoords[i].TopLeft); writer.Write(TexCoords[i].TopRight); writer.Write(TexCoords[i].BottomLeft); writer.Write(TexCoords[i].BottomRight); } }
public void Write(FileWriter writer, LayoutHeader header) { long startPos = writer.Position; writer.WriteString(Name, 0x14); writer.Write((byte)Tags.Count); writer.Write(Target, false); writer.Write((ushort)0); if (Tags.Count > 0) { writer.Write(new uint[Tags.Count]); for (int i = 0; i < Tags.Count; i++) { writer.WriteUint32Offset(startPos + 32 + (i * 4), startPos); ((PaiTag)Tags[i]).Write(writer, header, Target); } } }
public void Write(FileWriter writer, LayoutHeader header, AnimationTarget target) { if ((byte)target == 2) { writer.Write(Unknown); } long startPos = writer.Position; writer.WriteSignature(Tag); writer.Write((byte)Entries.Count); writer.Seek(3); writer.Write(new uint[Entries.Count]); for (int i = 0; i < Entries.Count; i++) { writer.WriteUint32Offset(startPos + 8 + (i * 4), startPos); ((BxlanPaiTagEntry)Entries[i]).Write(writer, header); } }
public override void Write(FileWriter writer, LayoutHeader header) { if (header.Version >= 0x05020000) { writer.WriteString(Name, 34); writer.Write((ushort)Panes.Count); } else { writer.WriteString(Name, 24); writer.Write((ushort)Panes.Count); writer.Seek(2); } for (int i = 0; i < Panes.Count; i++) { writer.WriteString(Panes[i], 24); } }
public override void Write(FileWriter writer, LayoutHeader header) { long pos = writer.Position - 8; writer.Write((ushort)Materials.Count); writer.Seek(2); long _ofsPos = writer.Position; //Fill empty spaces for offsets later writer.Write(new uint[Materials.Count]); //Save offsets and strings for (int i = 0; i < Materials.Count; i++) { writer.WriteUint32Offset(_ofsPos + (i * 4), pos); ((Material)Materials[i]).Write(writer, header); writer.Align(4); } }
public override void Write(FileWriter writer, LayoutHeader header) { long pos = writer.Position - 8; base.Write(writer, header); writer.Write(TextLength); writer.Write(MaxTextLength); writer.Write(MaterialIndex); writer.Write(FontIndex); writer.Write(TextAlignment); writer.Write(LineAlignment, false); writer.Write(_flags); writer.Seek(1); long _ofsTextPos = writer.Position; writer.Write(0); //text offset writer.Write(FontTopColor.ToBytes()); writer.Write(FontBottomColor.ToBytes()); writer.Write(FontSize); writer.Write(CharacterSpace); writer.Write(LineSpace); if (Text != null) { Encoding encoding = Encoding.Unicode; if (writer.ByteOrder == Syroot.BinaryData.ByteOrder.BigEndian) { encoding = Encoding.BigEndianUnicode; } writer.WriteUint32Offset(_ofsTextPos, pos); if (RestrictedTextLengthEnabled) { writer.WriteString(Text, MaxTextLength, encoding); } else { writer.WriteString(Text, TextLength, encoding); } } }