Packages

  • package root
    Definition Classes
    root
  • package ostrat

    This is the root package for the Openstrat project.

    This is the root package for the Openstrat project. The top of this package contains, 32 bit Int based Colours, the Multiple type class, a show and persistence library using RCON (Name may change), Rich Compact Object Notation, array based compound value collections of same length elements, an Either based errors framework and general utilities.

    Definition Classes
    root
  • package geom

    I chose the package name to not clash with "geometry" that may be use in other libraries This package contains Basic geometry.

    I chose the package name to not clash with "geometry" that may be use in other libraries This package contains Basic geometry. A number of implementation Value classes of the Int and Double product classes defined in ostrat. 2d graphical objects for generalised use. They are of particular use for the generic canvas based classes defined in pCanv but can be used in any display framework and for printing.

    Definition Classes
    ostrat
  • package pCanv

    The package attempts to encapsulate the various abstract canvas traits while the actual objects that populate a canvas go in package geom.

    The package attempts to encapsulate the various abstract canvas traits while the actual objects that populate a canvas go in package geom.

    Definition Classes
    ostrat
  • package pDev
    Definition Classes
    ostrat
  • package pEarth
    Definition Classes
    ostrat
  • package pExt
    Definition Classes
    ostrat
  • package pGames

    This pSimp contains the a number of games in varying stages of development.

    This pSimp contains the a number of games in varying stages of development.

    Definition Classes
    ostrat
  • package pGrid

    This package works with hexagonal and Square tile grids.

    This package works with hexagonal and Square tile grids. The tile objects themselves will not in the general case the contain grid coordinates, although it may be necessary to include this data for complex Tile values interacting with their wider environment. Its fundamental components are the grid data itself. This is just a linear array of tile data. Compile-time typed grid data. So for example a chess board can be represented by a 64 element Arr, its context determines that it is to be interpreted as an 8 by 8 square grid. Grid descriptions that describe the grid representation in the Array and GridFunctions which implement Cood to T. The grid and grid-gui hierarchies currently contain a mix of new and old systems.

    Definition Classes
    ostrat
  • package pParse

    This is the RSON package.

    This is the RSON package. Readable Succinct Object Notation. It could be just as accurately be described as Readable Succinct Data Notation, but that wouldn't scan as well and indicate it as a better replacement for JSON. RSON uses the standard semicolon separated statements combined with multilevel bracket hierarchy syntax familiar from C, C++, Java and JavaScript. Its main innovations over JSON and XML are allowing statements to be partitioned into comma delineated clauses, the empty statement, the empty clause and type inference. It uses a context free operator precedence hierarchy, with the exception of allowing the 4 ( - + ~ !) operator to be used as prefix operators. Beyond this it generally follows Scala syntax where this doesn't conflict with the preceding rules. Unlike Scala statements must finish with a semicolon unless it is the last statement of a file or a bracket block. Allowing statements to end with a newline introduces horrendous ambiguities unless one is willing to go completely down the significant whitespace route and I'm not sure if that could work even work for such a general purpose basic syntax.

    The above allows it to combine a high level of human readability, succinctness, non-programmer / non-expert write-ability, programmer flexibility and composability and fast-parsing. The initial motivating use case was strategy games, which require huge amounts of modable date files. XML and JSON, the current defaults are simply not fit for purpose. RSON aims to break down the walls between game player, game modder, professional game artist, professional game scripter, professional imperative programming wizards in languages such as C / C++ and Rust and professional functional programming wizards in languages such as Scala, Haskell and Idris.

    Definition Classes
    ostrat
  • package pSJs
    Definition Classes
    ostrat
  • package pStrat

    Package for miscellaneous game utilities and data.

    Package for miscellaneous game utilities and data.

    Definition Classes
    ostrat
  • package pWeb

    This package for the manipulation of Html, XML CSS and Javascript.

    This package for the manipulation of Html, XML CSS and Javascript. Some of the functionality could be replaced by Scalatags. As it currently stands the code and design quality of this package is not up to standard, but due to many other higher priorities, I have not been able to take the next step, which is to 1 improve and document it, rewrite it from scratch or 3 replace it with a Scala-tags dependency or some other library.

    Definition Classes
    ostrat
  • ClickAtt
  • CssBackColour
  • CssBody
  • CssClassRule
  • CssClassesRule
  • CssColour
  • CssCon
  • CssDec
  • CssEm
  • CssFill
  • CssFlex
  • CssFontCent
  • CssFontEm
  • CssFontFamily
  • CssFontSize
  • CssImg
  • CssLink
  • CssMargin
  • CssMarginAuto
  • CssMaxHeight
  • CssMaxHeightVH
  • CssMaxWidth
  • CssMaxWidthEm
  • CssP
  • CssPercent
  • CssRule
  • CssStroke
  • CssStrokeWidth
  • CssTextAlign
  • CssTextAlignCentre
  • CssTopMarginEm
  • CssWidth
  • CssWidthCent
  • FormAction
  • FormName
  • FormOne
  • FormPost
  • FormSubmit
  • FormValue
  • HAttJs
  • HBody
  • HButt
  • HCanvas
  • HCode
  • HEmpty
  • HForm
  • HHead
  • HImg
  • HInput
  • HLItem
  • HLink
  • HLinkItem
  • HMeta
  • HMetaNC
  • HNoScript
  • HNotVoid
  • HPre
  • HSimple
  • HSpan
  • HStyle
  • HSvg
  • HUList
  • HtmlBr
  • HtmlDiv
  • HtmlEl
  • HtmlFile
  • HtmlH1
  • HtmlH2
  • HtmlH3
  • HtmlJs
  • HtmlP
  • HtmlPage
  • HtmlUTF8
  • HtmlVoid
  • IdAtt
  • IndText
  • InputSubmit
  • JCon
  • PButt
  • StyleAtt
  • SvgAtt
  • SvgCircle
  • SvgCompound
  • SvgEl
  • SvgGroup
  • SvgRect
  • SvgSquare
  • SvgVoid
  • TabTitle
  • XAtt
  • XCon
  • XEmpty
  • XNotVoid
  • XmlEl
  • XmlSimple
  • XmlVoid
  • package strat
    Definition Classes
    ostrat

package pWeb

This package for the manipulation of Html, XML CSS and Javascript. Some of the functionality could be replaced by Scalatags. As it currently stands the code and design quality of this package is not up to standard, but due to many other higher priorities, I have not been able to take the next step, which is to 1 improve and document it, rewrite it from scratch or 3 replace it with a Scala-tags dependency or some other library.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. pWeb
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class ClickAtt(str: String) extends XAtt with Product with Serializable
  2. case class CssBackColour(colour: Colour) extends CssDec with Product with Serializable
  3. trait CssBody extends CssRule
  4. trait CssClassRule extends CssRule
  5. trait CssClassesRule extends CssRule
  6. case class CssColour(colour: Colour) extends CssDec with Product with Serializable
  7. trait CssCon extends IndentCon
  8. trait CssDec extends CssCon
  9. trait CssEm extends CssDec
  10. case class CssFill(valStr: String) extends CssDec with Product with Serializable
  11. case class CssFlex(valStr: String) extends CssDec with Product with Serializable
  12. case class CssFontCent(percents: Int) extends CssFontSize with CssPercent with Product with Serializable
  13. case class CssFontEm(ems: Double) extends CssFontSize with CssEm with Product with Serializable
  14. case class CssFontFamily(valStr: String) extends CssDec with Product with Serializable
  15. trait CssFontSize extends CssDec
  16. trait CssImg extends CssRule
  17. case class CssLink(name: String) extends HtmlVoid with Product with Serializable
  18. trait CssMargin extends CssDec
  19. case class CssMaxHeight(valStr: String) extends CssDec with Product with Serializable
  20. case class CssMaxHeightVH(valInt: Integer) extends CssDec with Product with Serializable
  21. trait CssMaxWidth extends CssDec
  22. case class CssMaxWidthEm(ems: Double) extends CssDec with CssEm with Product with Serializable
  23. trait CssP extends CssRule
  24. trait CssPercent extends CssDec
  25. trait CssRule extends Indenter
  26. case class CssStroke(valStr: String) extends CssDec with Product with Serializable
  27. case class CssStrokeWidth(value: Int) extends CssDec with Product with Serializable
  28. trait CssTextAlign extends CssDec
  29. case class CssTopMarginEm(ems: Double) extends CssEm with Product with Serializable
  30. case class CssWidth(valStr: String) extends CssDec with Product with Serializable
  31. case class CssWidthCent(valInt: Int) extends CssDec with Product with Serializable
  32. case class FormAction(actionName: String) extends XAtt with Product with Serializable
  33. case class FormName(nameStr: String) extends XAtt with Product with Serializable
  34. case class FormOne(infoStr: String, label: String) extends HForm with Product with Serializable
  35. case class FormSubmit(attsIn: Seq[XAtt]) extends HInput with Product with Serializable
  36. case class FormValue(label: String) extends XAtt with Product with Serializable
  37. trait HBody extends HNotVoid
  38. case class HButt(str: String, extraAtts: XAtt*) extends HSimple with Product with Serializable
  39. case class HCanvas(id: String) extends HEmpty with Product with Serializable
  40. case class HCode(str: String) extends HSimple with Product with Serializable
  41. trait HEmpty extends HtmlEl with XEmpty
  42. class HForm extends HNotVoid
  43. trait HHead extends HNotVoid
  44. case class HImg(srcStr: String, altStr: String) extends HtmlVoid with Product with Serializable
  45. trait HInput extends HtmlVoid
  46. case class HLItem(str: String) extends HSimple with Product with Serializable
  47. case class HLink(addr: String, label: String) extends HNotVoid with Product with Serializable
  48. case class HLinkItem(fileName: String, label: String) extends HNotVoid with Product with Serializable
  49. trait HMeta extends HtmlVoid
  50. case class HMetaNC(name: String, content: String) extends HMeta with Product with Serializable
  51. trait HNotVoid extends HtmlEl with XNotVoid
  52. case class HPre(str: String) extends HSimple with Product with Serializable
  53. sealed trait HSimple extends HNotVoid with XmlSimple
  54. case class HSpan(mems: Seq[XCon]) extends HNotVoid with Product with Serializable
  55. case class HStyle(rules: Seq[CssRule]) extends HNotVoid with Product with Serializable
  56. case class HSvg(width: Int, height: Int, svgMems: Seq[XCon]) extends HNotVoid with Product with Serializable
  57. trait HUList extends HNotVoid
  58. abstract class HtmlDiv extends HNotVoid
  59. trait HtmlEl extends XmlEl with XCon
  60. case class HtmlFile(fileName: String) extends XCon with Product with Serializable
  61. case class HtmlH1(str: String) extends HSimple with Product with Serializable
  62. case class HtmlH2(str: String) extends HSimple with Product with Serializable
  63. case class HtmlH3(str: String) extends HSimple with Product with Serializable
  64. trait HtmlJs extends HNotVoid
  65. trait HtmlP extends HNotVoid
  66. trait HtmlPage extends AnyRef
  67. sealed trait HtmlVoid extends HtmlEl with XmlVoid
  68. case class IdAtt(str: String) extends XAtt with Product with Serializable
  69. case class IndText(str: String) extends Indenter with XCon with JCon with CssCon with Product with Serializable
  70. case class InputSubmit(str: String, otherAttribs: Seq[XAtt] = Seq()) extends HInput with Product with Serializable
  71. trait JCon extends XCon
  72. case class PButt(str: String) extends HSimple with Product with Serializable
  73. class StyleAtt extends XAtt
  74. class SvgAtt extends XAtt
  75. case class SvgCircle(cx: Int, cy: Int, radius: Int, fillColour: Colour) extends SvgVoid with Product with Serializable
  76. trait SvgCompound extends SvgEl with XNotVoid
  77. trait SvgEl extends XmlEl
  78. trait SvgGroup extends SvgCompound
  79. case class SvgRect(x: Int, y: Int, width: Int, height: Int, fillColour: Colour) extends SvgVoid with Product with Serializable
  80. case class SvgSquare(x: Int, y: Int, width: Int, fillColour: Colour) extends SvgVoid with Product with Serializable
  81. trait SvgVoid extends SvgEl with XmlVoid
  82. case class TabTitle(str: String) extends HSimple with Product with Serializable
  83. class XAtt extends AnyRef

    Xml Attribute.

    Xml Attribute. Html and Svg elements do not have their own attribute traits and use Xml Attributes for the default case.

  84. trait XCon extends IndentCon

    Xml Content.

    Xml Content. This trait allows us to use ordinary strings and XMl elements as the default content of Xml elements. For stricter typing every element should have its own type, but creating the content type for each element is time consuming. In a few cases like the HTML style element the XCon type is not appropriate.

  85. trait XEmpty extends XNotVoid
  86. trait XNotVoid extends XmlEl
  87. trait XmlEl extends Indenter with XCon

    An XML Element

  88. trait XmlSimple extends XNotVoid
  89. trait XmlVoid extends XmlEl

Value Members

  1. implicit def indentConLikeString(s: String): IndText
  2. object CssBody
  3. object CssClassRule
  4. object CssClassesRule
  5. object CssDec
  6. object CssImg
  7. object CssMargin
  8. object CssMarginAuto extends CssMargin
  9. object CssMaxWidth
  10. object CssP
  11. object CssRule
  12. object CssTextAlignCentre extends CssTextAlign
  13. object FormPost extends XAtt
  14. object HAttJs extends XAtt
  15. object HBody
  16. object HHead
  17. object HNoScript extends HSimple
  18. object HPre extends Serializable
  19. object HSpan extends Serializable
  20. object HStyle extends Serializable
  21. object HSvg extends Serializable
  22. object HUList
  23. object HtmlBr extends HtmlVoid with Product with Serializable
  24. object HtmlDiv
  25. object HtmlJs
  26. object HtmlP
  27. object HtmlPage
  28. object HtmlUTF8 extends HMeta
  29. object StyleAtt

    An Html Attribute.

    An Html Attribute. Every Html attribute is also an XML attribute

  30. object SvgAtt
  31. object SvgGroup
  32. object XAtt

    Factory object for Xml Attribute.

    Factory object for Xml Attribute. Case class not used to make it easy to inherit from

Inherited from AnyRef

Inherited from Any

Ungrouped