fixes for mac

This commit is contained in:
2017-03-28 09:08:53 +01:00
parent e8cabebe66
commit 2024b3a280
6 changed files with 65 additions and 7 deletions

View File

@@ -8,6 +8,11 @@
/* Begin PBXBuildFile section */
AD3B1EC01E3B8B7600E918E3 /* layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD3B1EBE1E3B8B7600E918E3 /* layout.cpp */; };
AD4C08D91E89BD0F0051D85F /* asset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4C08CF1E89BD0F0051D85F /* asset.cpp */; };
AD4C08DA1E89BD0F0051D85F /* bezier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4C08D11E89BD0F0051D85F /* bezier.cpp */; };
AD4C08DB1E89BD0F0051D85F /* brush.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4C08D31E89BD0F0051D85F /* brush.cpp */; };
AD4C08DC1E89BD0F0051D85F /* canvas.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4C08D51E89BD0F0051D85F /* canvas.cpp */; };
AD4C08DD1E89BD0F0051D85F /* rtt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4C08D71E89BD0F0051D85F /* rtt.cpp */; };
AD58E0531E107411006ACC15 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD58E0521E107411006ACC15 /* main.cpp */; };
AD58E05A1E10752E006ACC15 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD58E0591E10752E006ACC15 /* OpenGL.framework */; };
AD58E05C1E107536006ACC15 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD58E05B1E107536006ACC15 /* Cocoa.framework */; };
@@ -43,6 +48,16 @@
/* Begin PBXFileReference section */
AD3B1EBE1E3B8B7600E918E3 /* layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = layout.cpp; sourceTree = "<group>"; };
AD3B1EBF1E3B8B7600E918E3 /* layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = layout.h; sourceTree = "<group>"; };
AD4C08CF1E89BD0F0051D85F /* asset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = asset.cpp; sourceTree = "<group>"; };
AD4C08D01E89BD0F0051D85F /* asset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asset.h; sourceTree = "<group>"; };
AD4C08D11E89BD0F0051D85F /* bezier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bezier.cpp; sourceTree = "<group>"; };
AD4C08D21E89BD0F0051D85F /* bezier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bezier.h; sourceTree = "<group>"; };
AD4C08D31E89BD0F0051D85F /* brush.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = brush.cpp; sourceTree = "<group>"; };
AD4C08D41E89BD0F0051D85F /* brush.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = brush.h; sourceTree = "<group>"; };
AD4C08D51E89BD0F0051D85F /* canvas.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = canvas.cpp; sourceTree = "<group>"; };
AD4C08D61E89BD0F0051D85F /* canvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canvas.h; sourceTree = "<group>"; };
AD4C08D71E89BD0F0051D85F /* rtt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rtt.cpp; sourceTree = "<group>"; };
AD4C08D81E89BD0F0051D85F /* rtt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtt.h; sourceTree = "<group>"; };
AD58E04F1E107411006ACC15 /* engine */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = engine; sourceTree = BUILT_PRODUCTS_DIR; };
AD58E0521E107411006ACC15 /* main.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = main.cpp; sourceTree = "<group>"; };
AD58E0591E10752E006ACC15 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
@@ -111,6 +126,16 @@
AD58E0511E107411006ACC15 /* engine */ = {
isa = PBXGroup;
children = (
AD4C08CF1E89BD0F0051D85F /* asset.cpp */,
AD4C08D01E89BD0F0051D85F /* asset.h */,
AD4C08D11E89BD0F0051D85F /* bezier.cpp */,
AD4C08D21E89BD0F0051D85F /* bezier.h */,
AD4C08D31E89BD0F0051D85F /* brush.cpp */,
AD4C08D41E89BD0F0051D85F /* brush.h */,
AD4C08D51E89BD0F0051D85F /* canvas.cpp */,
AD4C08D61E89BD0F0051D85F /* canvas.h */,
AD4C08D71E89BD0F0051D85F /* rtt.cpp */,
AD4C08D81E89BD0F0051D85F /* rtt.h */,
AD95AEC31E41EDEC002DD03A /* font.cpp */,
AD95AEC41E41EDEC002DD03A /* font.h */,
AD95AEC51E41EDEC002DD03A /* pch.cpp */,
@@ -203,15 +228,20 @@
AD58E0791E342205006ACC15 /* tinyxml2.cpp in Sources */,
AD58E06F1E2A80BC006ACC15 /* shape.cpp in Sources */,
AD58E0651E2A76FD006ACC15 /* shader.cpp in Sources */,
AD4C08DA1E89BD0F0051D85F /* bezier.cpp in Sources */,
AD58E0761E3421F2006ACC15 /* YGNodeList.c in Sources */,
ADB61C821E3D38450093280F /* util.cpp in Sources */,
AD4C08DD1E89BD0F0051D85F /* rtt.cpp in Sources */,
AD58E06B1E2A774F006ACC15 /* texture.cpp in Sources */,
AD3B1EC01E3B8B7600E918E3 /* layout.cpp in Sources */,
AD58E0721E2A90EF006ACC15 /* app.cpp in Sources */,
AD4C08DC1E89BD0F0051D85F /* canvas.cpp in Sources */,
AD95AEC61E41EDEC002DD03A /* font.cpp in Sources */,
AD58E0531E107411006ACC15 /* main.cpp in Sources */,
AD4C08D91E89BD0F0051D85F /* asset.cpp in Sources */,
AD58E0681E2A7741006ACC15 /* image.cpp in Sources */,
AD58E0771E3421F2006ACC15 /* Yoga.c in Sources */,
AD4C08DB1E89BD0F0051D85F /* brush.cpp in Sources */,
AD95AEC71E41EDEC002DD03A /* pch.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;

View File

@@ -16,7 +16,7 @@ bool Font::load(const char* ttf, int font_size)
auto bitmap = std::make_unique<uint8_t[]>(w*h);
chars.resize(num_chars);
int ret = stbtt_BakeFontBitmap(file.m_data, 0, (float)font_size, bitmap.get(), w, h, start_char, num_chars, chars.data());
font_tex.create(w, h, GL_LUMINANCE, bitmap.get());
font_tex.create(w, h, GL_RED, bitmap.get());
file.close();
return true;
}

View File

@@ -1482,7 +1482,7 @@ public:
init_template("tpl-panel-brushes");
//m_layers_container = find<NodeBorder>("layers-container");
static auto icons = FindAllBrushes("data/Icons/");
if (m_container = find<NodeBorder>("brushes"))
if ((m_container = find<NodeBorder>("brushes")))
{
int count = 0;
for (auto& i : icons)
@@ -1538,6 +1538,18 @@ public:
}
AAssetDir_close(dir);
#else
DIR *dp;
struct dirent *ep;
dp = opendir(folder.c_str());
if (dp != NULL)
{
while (ep = readdir (dp))
names.push_back(ep->d_name);
closedir(dp);
}
else
LOG("Couldn't open the directory: %s", folder.c_str());
#endif
return names;
}

View File

@@ -194,18 +194,31 @@ static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTime
}
- (void)mouseDown:(NSEvent *)theEvent
{
CGLLockContext([[self openGLContext] CGLContextObj]);
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
App::I.mouse_down(0, mouseLoc.x, App::I.height - mouseLoc.y - 1);
CGLUnlockContext([[self openGLContext] CGLContextObj]);
}
- (void)mouseUp:(NSEvent *)theEvent
{
CGLLockContext([[self openGLContext] CGLContextObj]);
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
App::I.mouse_up(0, mouseLoc.x, App::I.height - mouseLoc.y - 1);
CGLUnlockContext([[self openGLContext] CGLContextObj]);
}
- (void)mouseMoved:(NSEvent *)theEvent
{
CGLLockContext([[self openGLContext] CGLContextObj]);
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1);
CGLUnlockContext([[self openGLContext] CGLContextObj]);
}
-(void)mouseDragged:(NSEvent *)theEvent
{
CGLLockContext([[self openGLContext] CGLContextObj]);
auto mouseLoc = [self convertPoint:[theEvent locationInWindow] fromView:nil];
App::I.mouse_move(mouseLoc.x, App::I.height - mouseLoc.y - 1);
CGLUnlockContext([[self openGLContext] CGLContextObj]);
}
@end
@@ -257,7 +270,7 @@ static CVReturn MyDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTime
auto style = NSTitledWindowMask|NSMiniaturizableWindowMask|NSResizableWindowMask;
window = [[Window alloc] initWithContentRect:r styleMask:style backing:NSBackingStoreBuffered defer:NO];
[window setTitle:@"hello engine - ui shapes"];
[window setTitle:@"PanoPainter 0.1.2 alpha"];
[window center];
[window makeKeyAndOrderFront:controller];
[window setContentView:view];

View File

@@ -1,13 +1,16 @@
//#pragma once
#define USE_VBO 0
#define USE_VBO 1
#define USE_SAMPLER 1
#ifdef __APPLE__
#include <OpenGL/gl3.h>
#include <sys/stat.h>
#define LOG printf
#define SHADER_VERSION "#version 300 es\n"
#include <sys/types.h>
#include <dirent.h>
#define LOG(M,...) printf(M"\n", ##__VA_ARGS__)
#define SHADER_VERSION "#version 150\n"
#elif __ANDROID__
#include <EGL/egl.h>

View File

@@ -31,5 +31,5 @@ glm::vec3 convert_rgb2hsv(const glm::vec3 c)
glm::vec4 q = c.r < p.x ? glm::vec4(p.xyw, c.r) : glm::vec4(c.r, p.yzx);
float d = q.x - glm::min(q.w, q.y);
float e = 1.0e-10f;
return glm::vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
return glm::vec3(fabs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
}