diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 56e19f9..4d8ff5d 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/main.cpp b/main.cpp index bc9ff88..1485e96 100644 --- a/main.cpp +++ b/main.cpp @@ -1,71 +1,20 @@ +#include #define OLC_PGE_APPLICATION #include "pixelGameEngine.h" using namespace olc; -class BoxBorder : public olc::PixelGameEngine -{ -public: - BoxBorder() - { - sAppName = "Box Border"; - } - -public: - Decal*box; - - void DrawBorderBox(const vd2d&pos,const vd2d&size,const vd2d&borderScale={1,1}) { - vd2d scaledCorner={13*(float)borderScale.x,13*(float)borderScale.y}; - DrawPartialDecal(pos,scaledCorner,box,{0,0},{13,13}); //Upper-Left Corner - vd2d ULOffset={13*(float)borderScale.x,0}; - DrawPartialDecal(pos+ULOffset,{(float)size.x-26*(float)borderScale.x,13*(float)borderScale.y},box,{13,0},{91,13}); //Top - vd2d UROffset={size.x-13*(float)borderScale.x,0}; - DrawPartialDecal(pos+UROffset,scaledCorner,box,{104,0},{13,13}); //Upper-Right Corner - vd2d ULBottomOffset={0,13*(float)borderScale.y}; - DrawPartialDecal(pos+ULBottomOffset,{13*(float)borderScale.x,(float)size.y-25*(float)borderScale.y},box,{0,13},{13,73});//Left - vd2d BLOffset={0,size.y-13*(float)borderScale.y}; - DrawPartialDecal(pos+BLOffset,scaledCorner,box,{0,86},{13,13}); //Bottom-Left Corner - vd2d BLLeftOffset={13*(float)borderScale.x,size.y-(13+0.05)*(float)borderScale.y}; - DrawPartialDecal(pos+BLLeftOffset,{(float)size.x-26*(float)borderScale.x,13*(float)borderScale.y},box,{13,86},{91,13}); //Bottom - vd2d BROffset={size.x-13*(float)borderScale.x,size.y-13*(float)borderScale.y}; - DrawPartialDecal(pos+BROffset,scaledCorner,box,{104,86},{13,13}); //Bottom-Right Corner - vd2d TROffset={size.x-13*(float)borderScale.x,13*(float)borderScale.y}; - DrawPartialDecal(pos+TROffset,{13*(float)borderScale.x,(float)size.y-25*(float)borderScale.y},box,{104,13},{13,73});//Right - } - - bool OnUserCreate() override - { - box = new Decal(new Sprite("border.png"),false,true); - return true; - } - - vd2d borderSize={1,1}; - - bool OnUserUpdate(float fElapsedTime) override - { - if (GetMouseWheel()>0) { - borderSize.x+=0.1; - borderSize.y+=0.1; - } else - if (GetMouseWheel()<0) { - borderSize.x-=0.1; - borderSize.y-=0.1; - } - - vd2d boxPos={24,24}; - vd2d boxSize=GetMousePos()-boxPos; - FillRectDecal(boxPos,boxSize,GREY); - DrawBorderBox(boxPos,boxSize,borderSize); - return true; +struct MyStruct{ + int val=4; + friend std::ostream&operator<<(std::ostream&os,MyStruct&rhs){ + printf("Called\n"); + return os; } }; - int main() { - BoxBorder demo; - if (demo.Construct(256, 240, 4, 4)) - demo.Start(); - + MyStruct*st=new MyStruct({5}); + std::cout<<*st<