PEG vob_bgvob--humppake: Abstract Background Vob

Author: Asko Soukka
Stakeholders:Benja Fallenstein, Tuomas Lukka
Revision: 1.15
Status: Irrelevant

This PEG proposes creating Abstract Background Vob class, which implies creation of Background interface and Colored Interface.

Background Vob is a very basic vob type, which enhances the Vob currently with the the following features:

Background Vob implements interface for single color backround and border from Background Interface and handling of multiple background colors from Colored Interface.



The Java classes public interface Background, public interface Colored and public abstract class AbstractBgVob should be created after the following diagram:

gzz.vob.Vob peg.gen.html#abstractbgvob abstractbgvob

The following background vobs should be modified to inherit AbstractBgVob:

  • gzz.vob.vobs.RectBgVob
  • gzz.vob.vobs.SolidBgVob
  • gzz.vob.vobs.OvalBgVob

Also gzz.vob.vobs.ColoredSectorVob should be inherited from AbstractBgVob (via OvalBgVob, which holds some circle routines for GL). Semantically colored sector vobs are not meant to be background vobs, but they do have the same features. The difference to background vobs will be done by dropping Bg off from their naming.

No Cell Views or Node Views should be broken after this change, since background vobs' addColor interface remains same. Although, at least Loom's Node Views should be build using Abstract Background Vob instead of RectBgVob or any other particular Vob.