Anyways, once I thought about the requirements and put them into phrasing like above, it was pretty simple to knock up a dummy renderable system where a border is represented by two objects in the auto-arrangement system. The object takes two resources (a corner texture and a bar texture), a width, and an enumerated behavior (wether the inner rect depends on the outer, or vice versa). It then generates and arranges/rotates 4 corners, 4 bars, and 10 interlinked rectangles representing the border.
I am quite pleased with it so far.
[edit:]
Hah! I have made a slightly clever mechanism to allow borders to decorate other renderables, while not requiring the user to update references too much upon decoration. Much nicer:
BorderedBackground testAround = BorderedBackground.Around(kanji, "solid", "solid", "solid", 1); testAround.BGColor = System.Drawing.Color.Crimson.ToArgb(); testAround.Color = System.Drawing.Color.SkyBlue.ToArgb();
![](http://members.gamedev.net/telastyn/CrimsonKanji.png)