﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<?application progid="SMath Studio Desktop" version="0.97.5346.24640"?>
<regions>
  <settings>
    <identity>
      <id>0b9d53db-9fdd-4234-8eb8-871c6c604201</id>
      <revision>312</revision>
    </identity>
    <calculation>
      <precision>4</precision>
      <exponentialThreshold>5</exponentialThreshold>
      <fractions>decimal</fractions>
    </calculation>
    <pageModel active="true" printAreas="true" simpleEqualsOnly="false" printBackgroundImages="true">
      <paper id="1" orientation="Portrait" width="850" height="1100" />
      <margins left="39" right="39" top="39" bottom="39" />
      <header alignment="Center" color="#a9a9a9">&amp;[DATE] &amp;[TIME] - &amp;[FILENAME]</header>
      <footer alignment="Center" color="#a9a9a9">&amp;[PAGENUM] / &amp;[COUNT]</footer>
      <backgrounds />
    </pageModel>
    <dependences>
      <assembly name="SMath Studio Desktop" version="0.97.5346.24640" guid="a37cba83-b69c-4c71-9992-55ff666763bd" />
      <assembly name="Writer Region" version="0.0.5544.42724" guid="5922d677-323f-4327-8c68-be902d8339ad" />
    </dependences>
  </settings>
  <region id="0" left="9" top="0" width="752" height="119" color="#000000" bgColor="#ffffff">
    <writer lang="eng"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 9.75pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><span style="font-family: 'Courier New'"><span style="text-decoration: line-through">                                                                                  </span></span></div>
<div style="text-align: center"><span style="font-family: 'Verdana'"><span style="font-size: 12pt"><strong>Writer Manager</strong></span></span></div>
<div style="text-align: center"><span style="font-family: 'Courier New'"><span style="font-size: 9pt"><span style="color: Red">[β version]</span></span></span></div>
<div style="text-align: center">&nbsp;</div>
<div style="text-align: center"><span style="font-family: 'Verdana'"><span style="font-size: 10pt"><em>by Davide Carpi (<a href="mailto:davide.carpi@gmail.com"><span style="text-decoration: underline"><span style="color: Green">davide.carpi@gmail.com</span></span></a>)</em></span></span></div>
<div style="text-align: left"><span style="font-family: 'Courier New'"><span style="text-decoration: line-through">                                                                                  </span></span></div></span>]]></writer>
  </region>
  <region id="1" left="0" top="126" width="772" height="118" color="#000000" bgColor="#ffffff">
    <writer lang="eng" wrap="Page" width="758"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 9.75pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><span style="font-size: 10pt"><strong><span style="text-decoration: underline">OVERVIEW</span></strong></span></div>
<div style="text-align: left; font-size: 5pt">&nbsp;</div>
<div style="text-align: left">Writer Manager is the core of the Writer Region plugin. It contains the base region (WriterArea) and the resources</div>
<div style="text-align: left">to handle it.</div>
<div style="text-align: left">WriterArea contains a list of base-elements (Glyphs) grouped in Paragraphs (groups of glyphs separated by linefeeds) and Lines (what is shown in the canvas as a line).</div></span>]]></writer>
  </region>
  <region id="2" left="0" top="261" width="772" height="174" color="#000000" bgColor="#ffffff">
    <writer lang="eng" wrap="Page" width="758"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 10pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><span style="font-size: 9.75pt">To use one or more WriterArea(s) in your project:</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">1) copy the WriterManager folder from the WriterRegion sources and include it in you project;</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">2) Reference the namespace:</span></div>
<div style="text-align: center"><span style="font-family: 'Courier New'"><span style="color: Green">using </span><strong>WriterManager;</strong></span></div>
<div style="text-align: center; font-family: 'Courier New'; font-size: 4pt">&nbsp;</div>
<div style="text-align: left"><span style="font-size: 9.75pt">3) in your RegionBase/RegionEvaluable class, add all the <em>WriterArea</em> you need;</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">4) handle them as shown in the WriterRegion.</span></div>
<div style="text-align: left; font-size: 9.75pt">&nbsp;</div>
<div style="text-align: left"><span style="font-size: 9.75pt"><strong><em>note:</em></strong> WriterArea doesn't handle directly the history and languages, that should be driven through your RegionBase.</span></div></span>]]></writer>
  </region>
  <region id="3" left="0" top="450" width="475" height="548" color="#000000" bgColor="#ffffff">
    <writer lang="eng"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 9.75pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><strong>RegionBase methods surrounded by WriterArea:</strong></div>
<div style="text-align: left">- <em>OnPaint(PaintEventArgs e)</em></div>
<div style="text-align: left">	paint the area</div>
<div style="text-align: left">- <em>OnCommandSend(string value)</em></div>
<div style="text-align: left">	allow inputs from keyboard</div>
<div style="text-align: left">- <em>OnKeyDown(KeyEventArgs e)</em></div>
<div style="text-align: left">	allow inputs from keyboard</div>
<div style="text-align: left">- <em>OnMouseDown(MouseEventArgs e)</em></div>
<div style="text-align: left">	allow inputs from mouse</div>
<div style="text-align: left">- <em>OnMouseUp(MouseEventArgs e)</em></div>
<div style="text-align: left">	allow inputs from mouse</div>
<div style="text-align: left">- <em>OnMouseMove(MouseEventArgs e)</em></div>
<div style="text-align: left">	allow inputs from mouse</div>
<div style="text-align: left">- <em>GetCursorType(MouseEventArgs point)</em></div>
<div style="text-align: left">	change the cursor icon</div>
<div style="text-align: left">- <em>Copy(IClipboardManager clipboard)</em></div>
<div style="text-align: left">	allow data sharing from the clipboard</div>
<div style="text-align: left">- <em>GetSelectionStatus()</em></div>
<div style="text-align: left">	enable cut/copy/delete context menu items</div>
<div style="text-align: left">- <em>Paste(IClipboardManager clipboard)</em></div>
<div style="text-align: left">	allow data sharing from the clipboard</div>
<div style="text-align: left">- <em>FromXml(XmlTextReader reader, FileParsingContext parsingContext)</em></div>
<div style="text-align: left">	get xml data</div>
<div style="text-align: left">- <em>ToXml(XmlTextWriter writer, FileParsingContext parsingContext)</em></div>
<div style="text-align: left">	set xml data</div>
<div style="text-align: left">- <em>IsEmpty()</em></div>
<div style="text-align: left"><em>	</em>check if the area is empty</div></span>]]></writer>
  </region>
  <region id="4" left="0" top="1035" width="772" height="308" color="#000000" bgColor="#ffffff">
    <writer lang="eng" wrap="Page" width="758"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 10pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><span style="font-size: 9.75pt"><strong>WriterArea bonus fields:</strong></span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>Multiline</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">if false, multiline text is not allowed (from the clipboard you can get the first line of the text)</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>ReadOnly</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">if true, text input is disabled; select and copy are allowed</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>EnableOuterClicks</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">if true, clicks on the RegionBase canvas outside the WriterArea's bounds are allowed <span style="text-decoration: underline">(you have to set it to false if you want to use multiple WriterAreas on your RegionBase)</span></span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>DisabledStyles</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">here you can set all the styles that you won't be available for the user. This affects also the toolstrip and the data pasted from the clipboard</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>RotateFlip</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">the rotation/flip of the text when it is not focused</span></div>
<div style="text-align: left"><span style="font-size: 9.75pt">- <em>BackColor</em></span></div>
<div style="text-align: left; margin-left: 36pt"><span style="font-size: 9.75pt">WriterArea's background color</span></div></span>]]></writer>
  </region>
  <region id="5" left="0" top="1368" width="772" height="238" color="#000000" bgColor="#ffffff">
    <writer lang="eng" wrap="Page" width="758"><![CDATA[<span style="font-family: 'Arial Unicode MS'; font-size: 10pt; font-weight: normal; font-style: normal; text-decoration: none; color: Black; background-color: Transparent; line-height: 115%">
<div style="text-align: left"><strong><span style="text-decoration: underline">BEHIND THE SCENES</span></strong></div>
<div style="text-align: left; font-size: 5pt">&nbsp;</div>
<div style="text-align: justify"><span style="font-size: 9.75pt">The base object of this region is called Glyph and is thinked as any object that can be selected by the user. Each glyph could be a character, a set of characters or an object.</span></div>
<div style="text-align: justify"><span style="font-size: 9.75pt">Data is shared through WriterAreas using HTML code (WriterData). Because the HTML decoding is designed to support just the WriterData output syntax (and not the whole HTML syntax) if you plan to extend the WriterArea code of your region with more glyphs or features, sharing data via clipboard you may cause issues on third-party regions; therefore it is reccomended to share your improvements with the community to extend the code to support everywhere the changes.</span></div>
<div style="text-align: justify"><span style="font-size: 9.75pt">Alternatively you can plan to add another layer of data in the clipboard handling of you plugin providing yourself the compatibility rules (a compatible &quot;SMath.WriterData&quot;, DataFormats.UnicodeText, DataFormats.Text and your own format).</span></div></span>]]></writer>
  </region>
</regions>