From: <mth...@us...> - 2007-11-27 22:24:09
|
Revision: 7330 http://openmsx.svn.sourceforge.net/openmsx/?rev=7330&view=rev Author: mthuurne Date: 2007-11-27 14:24:13 -0800 (Tue, 27 Nov 2007) Log Message: ----------- Moved setDisplayMode from .hh to .cc file, since it is too big to inline and not performance critical eiter. Modified Paths: -------------- openmsx/branches/branch_0_6_3/src/video/BitmapConverter.cc openmsx/branches/branch_0_6_3/src/video/BitmapConverter.hh Modified: openmsx/branches/branch_0_6_3/src/video/BitmapConverter.cc =================================================================== --- openmsx/branches/branch_0_6_3/src/video/BitmapConverter.cc 2007-11-27 22:11:51 UTC (rev 7329) +++ openmsx/branches/branch_0_6_3/src/video/BitmapConverter.cc 2007-11-27 22:24:13 UTC (rev 7330) @@ -132,6 +132,37 @@ } } +template <class Pixel> +void BitmapConverter<Pixel>::setDisplayMode(DisplayMode mode) +{ + // TODO: Support YJK on modes other than Graphic 6/7. + switch (mode.getByte() & ~DisplayMode::YAE) { + case DisplayMode::GRAPHIC4: + renderMethod = &BitmapConverter::renderGraphic4; + break; + case DisplayMode::GRAPHIC5: + renderMethod = &BitmapConverter::renderGraphic5; + break; + case DisplayMode::GRAPHIC6: + renderMethod = &BitmapConverter::renderGraphic6; + break; + case DisplayMode::GRAPHIC7: + renderMethod = &BitmapConverter::renderGraphic7; + break; + case DisplayMode::GRAPHIC6 | DisplayMode::YJK: + case DisplayMode::GRAPHIC7 | DisplayMode::YJK: + if (mode.getByte() & DisplayMode::YAE) { + renderMethod = &BitmapConverter::renderYAE; + } else { + renderMethod = &BitmapConverter::renderYJK; + } + break; + default: + renderMethod = &BitmapConverter::renderBogus; + break; + } +} + // Force template instantiation. template class BitmapConverter<word>; template class BitmapConverter<unsigned>; Modified: openmsx/branches/branch_0_6_3/src/video/BitmapConverter.hh =================================================================== --- openmsx/branches/branch_0_6_3/src/video/BitmapConverter.hh 2007-11-27 22:11:51 UTC (rev 7329) +++ openmsx/branches/branch_0_6_3/src/video/BitmapConverter.hh 2007-11-27 22:24:13 UTC (rev 7330) @@ -61,37 +61,8 @@ /** Select the display mode to use for scanline conversion. * @param mode The new display mode. - * TODO: Should this be inlined? It's not used that frequently. */ - inline void setDisplayMode(DisplayMode mode) - { - // TODO: Support YJK on modes other than Graphic 6/7. - switch (mode.getByte() & ~DisplayMode::YAE) { - case DisplayMode::GRAPHIC4: - renderMethod = &BitmapConverter::renderGraphic4; - break; - case DisplayMode::GRAPHIC5: - renderMethod = &BitmapConverter::renderGraphic5; - break; - case DisplayMode::GRAPHIC6: - renderMethod = &BitmapConverter::renderGraphic6; - break; - case DisplayMode::GRAPHIC7: - renderMethod = &BitmapConverter::renderGraphic7; - break; - case DisplayMode::GRAPHIC6 | DisplayMode::YJK: - case DisplayMode::GRAPHIC7 | DisplayMode::YJK: - if (mode.getByte() & DisplayMode::YAE) { - renderMethod = &BitmapConverter::renderYAE; - } else { - renderMethod = &BitmapConverter::renderYJK; - } - break; - default: - renderMethod = &BitmapConverter::renderBogus; - break; - } - } + void setDisplayMode(DisplayMode mode); private: typedef void (BitmapConverter::*RenderMethod) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |