Minahito
minah****@users*****
2005年 11月 29日 (火) 16:12:37 JST
Index: xoops2jp/html/class/XCube_RenderSystem.class.php diff -u xoops2jp/html/class/XCube_RenderSystem.class.php:1.1.2.10 xoops2jp/html/class/XCube_RenderSystem.class.php:1.1.2.11 --- xoops2jp/html/class/XCube_RenderSystem.class.php:1.1.2.10 Mon Nov 28 22:42:16 2005 +++ xoops2jp/html/class/XCube_RenderSystem.class.php Tue Nov 29 16:12:37 2005 @@ -1,9 +1,11 @@ <?php /** - * @version $Id: XCube_RenderSystem.class.php,v 1.1.2.10 2005/11/28 13:42:16 minahito Exp $ + * @version $Id: XCube_RenderSystem.class.php,v 1.1.2.11 2005/11/29 07:12:37 minahito Exp $ * @package Cube */ +require_once XOOPS_ROOT_PATH."/kernel/XCube_TextModifier.class.php"; + define("XCUBE_RENDER_MODE_NORMAL",1); define("XCUBE_RENDER_MODE_DIALOG",2); @@ -31,15 +33,25 @@ var $mName=null; var $mRenderBuffer=null; - + var $mTemplateName=null; var $mAttributes=array(); + + var $mParameters=array(); var $mType=XCUBE_RENDER_TARGET_TYPE_BUFFER; + /** + * TEST : Effect Frame Work + */ + var $mRenderFilter=null; + + var $ModifierManager=null; + function XCube_RenderTarget() { + $this->ModifierManager=new XCube_TextModifierManager(); } function setName($name) @@ -92,8 +104,11 @@ return $this->mRenderBuffer; } - function setResult($result) + function setResult(&$result) { + if(is_object($this->mRenderFilter)) { + $this->mRenderFilter->resultFilter($result); + } $this->mRenderBuffer=$result; } @@ -128,7 +143,70 @@ $this->setTemplateName(null); unset($this->mAttributes); $this->mAttributes=array(); - $this->setResult(null); + $this->mRenderBuffer=null; + } + + /** + * TEST + */ + function setRenderFilter(&$filter) + { + $this->mRenderFilter=&$filter; + } + + /** + * TEST + */ + function callPreFilter() + { + if(is_object($this->mRenderFilter)) { + $this->mRenderFilter->preFilter($this); + } + } + + /** + * TEST + */ + function addModifier(&$modifier) + { + $this->ModifierManager->addModifier($modifier); + } + + /** + * TEST + */ + function hasModifier($modifierName) + { + return $this->ModifierManager->hasModifier($modifierName); + } + + function countModifier() + { + return $this->ModifierManager->countModifier(); + } + + /** + * TEST + */ + function &searchModifier($modifierName=null) + { + $root=&XCube_Root::getSingleton(); + + if($this->ModifierManager->countModifier()==0) { + $modifier=&$root->ModifierManager->searchModifier($modifierName,true); + return $modifier; + } + + $modifier=&$this->ModifierManager->searchModifier($modifierName,false); + if(is_object($modifier)) + return $modifier; + + $modifier=&$root->ModifierManager->searchModifier($modifierName,false); + if(is_object($modifier)) + return $modifier; + + $modifier=&$this->ModifierManager->searchModifier(null,false); + return $modifier; } } @@ -187,7 +265,7 @@ * * @return XCube_RenderTarget */ - function getRenderTarget() + function &getRenderTarget() { return $this->mRenderTarget; }