+ case "${usergroup_phase}" in + local run_cmd + run_cmd=run_su + shift + run_su /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/bsnes-115nb31/work.log + su pbulk -c '"$@"' make /opt/pkg/bin/bmake all BATCH=1 DEPENDS_TARGET=/nonexistent WRKLOG=/tmp/bulklog/bsnes-115nb31/work.log ===> Building for bsnes-115nb31 Compiling ../hiro/hiro.cpp ... Compiling ../ruby/ruby.cpp ... Compiling ../libco/libco.c ... In file included from ../hiro/core/core.cpp:1, from ../hiro/hiro.cpp:5: ../nall/intrinsics.hpp:109:4: warning: #warning "unable to detect platform" [-Wcpp] 109 | #warning "unable to detect platform" | ^~~~~~~ Compiling emulator/emulator.cpp ... In file included from ../nall/platform.hpp:3, from ../ruby/ruby.hpp:3, from ../ruby/ruby.cpp:1: ../nall/intrinsics.hpp:109:4: warning: #warning "unable to detect platform" [-Wcpp] 109 | #warning "unable to detect platform" | ^~~~~~~ Compiling filter/filter.cpp ... In file included from ../nall/platform.hpp:3, from ./emulator/emulator.hpp:5, from emulator/emulator.cpp:1: ../nall/intrinsics.hpp:109:4: warning: #warning "unable to detect platform" [-Wcpp] 109 | #warning "unable to detect platform" | ^~~~~~~ Compiling lzma/lzma.cpp ... In file included from ../nall/platform.hpp:3, from ./emulator/emulator.hpp:5, from filter/filter.cpp:1: ../nall/intrinsics.hpp:109:4: warning: #warning "unable to detect platform" [-Wcpp] 109 | #warning "unable to detect platform" | ^~~~~~~ In file included from ../ruby/video/glx.cpp:1, from ../ruby/video/video.cpp:18, from ../ruby/ruby.cpp:28: ../ruby/video/opengl/opengl.hpp:16:4: error: #error "ruby::OpenGL3: unsupported platform" 16 | #error "ruby::OpenGL3: unsupported platform" | ^~~~~ In file included from ../ruby/video/video.cpp:22: ../ruby/video/glx2.cpp:21:4: error: #error "ruby::OpenGL2: unsupported platform" 21 | #error "ruby::OpenGL2: unsupported platform" | ^~~~~ In file included from ../nall/arithmetic.hpp:37, from ../nall/hash/hash.hpp:3, from ../nall/hash/sha256.hpp:3, from ../nall/file-buffer.hpp:12, from ../nall/file.hpp:3, from ../nall/file-map.hpp:3, from ../nall/image.hpp:5, from ./emulator/emulator.hpp:11: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint256_t&, const uint256_t&, uint256_t&, uint256_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:1:1: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? +++ |+#include <stdexcept> 1 | #define ConcatenateType(Size) uint##Size##_t In file included from ../nall/arithmetic.hpp:45: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint512_t&, const uint512_t&, uint512_t&, uint512_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:53: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint1024_t&, const uint1024_t&, uint1024_t&, uint1024_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:61: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint2048_t&, const uint2048_t&, uint2048_t&, uint2048_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:69: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint4096_t&, const uint4096_t&, uint4096_t&, uint4096_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:77: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint8192_t&, const uint8192_t&, uint8192_t&, uint8192_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/file.hpp: In static member function 'static bool nall::file::truncate(const nall::string&, uint64_t)': ../nall/file.hpp:49:3: warning: no return statement in function returning non-void [-Wreturn-type] 49 | } | ^ ../nall/file.hpp: In static member function 'static bool nall::file::exists(const nall::string&)': ../nall/file.hpp:60:14: error: 'data' was not declared in this scope 60 | return !(data.st_mode & S_IFDIR); | ^~~~ In file included from /usr/include/fcntl.h:37, from ../nall/platform.hpp:41: ../nall/file.hpp: In static member function 'static uint64_t nall::file::size(const nall::string&)': ../nall/file.hpp:71:20: error: 'data' was not declared in this scope 71 | return S_ISREG(data.st_mode) ? data.st_size : 0u; | ^~~~ In file included from ../nall/arithmetic.hpp:37, from ../nall/hash/hash.hpp:3, from ../nall/hash/sha256.hpp:3, from ../nall/file-buffer.hpp:12, from ../nall/file.hpp:3, from ../nall/directory.hpp:3, from ../ruby/ruby.hpp:4: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint256_t&, const uint256_t&, uint256_t&, uint256_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:1:1: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? +++ |+#include <stdexcept> 1 | #define ConcatenateType(Size) uint##Size##_t In file included from ../nall/arithmetic.hpp:37, from ../nall/hash/hash.hpp:3, from ../nall/hash/sha256.hpp:3, from ../nall/file-buffer.hpp:12, from ../nall/file.hpp:3, from ../nall/file-map.hpp:3, from ../nall/image.hpp:5, from ./emulator/emulator.hpp:11: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint256_t&, const uint256_t&, uint256_t&, uint256_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:1:1: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? +++ |+#include <stdexcept> 1 | #define ConcatenateType(Size) uint##Size##_t In file included from ../nall/arithmetic.hpp:45: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint512_t&, const uint512_t&, uint512_t&, uint512_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:45: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint512_t&, const uint512_t&, uint512_t&, uint512_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:53: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint1024_t&, const uint1024_t&, uint1024_t&, uint1024_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:61: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint2048_t&, const uint2048_t&, uint2048_t&, uint2048_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:53: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint1024_t&, const uint1024_t&, uint1024_t&, uint1024_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:69: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint4096_t&, const uint4096_t&, uint4096_t&, uint4096_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:61: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint2048_t&, const uint2048_t&, uint2048_t&, uint2048_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:37, from ../nall/hash/hash.hpp:3, from ../nall/hash/sha256.hpp:3, from ../nall/file-buffer.hpp:12, from ../nall/file.hpp:3, from ../nall/directory.hpp:3, from ../hiro/core/core.hpp:4, from ../hiro/core/core.cpp:13: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint256_t&, const uint256_t&, uint256_t&, uint256_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:1:1: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? +++ |+#include <stdexcept> 1 | #define ConcatenateType(Size) uint##Size##_t In file included from ../nall/arithmetic.hpp:77: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint8192_t&, const uint8192_t&, uint8192_t&, uint8192_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/file.hpp: In static member function 'static bool nall::file::truncate(const nall::string&, uint64_t)': ../nall/file.hpp:49:3: warning: no return statement in function returning non-void [-Wreturn-type] 49 | } | ^ In file included from ../nall/arithmetic.hpp:45: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint512_t&, const uint512_t&, uint512_t&, uint512_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/file.hpp: In static member function 'static bool nall::file::exists(const nall::string&)': ../nall/file.hpp:60:14: error: 'data' was not declared in this scope 60 | return !(data.st_mode & S_IFDIR); | ^~~~ In file included from ../nall/arithmetic.hpp:69: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint4096_t&, const uint4096_t&, uint4096_t&, uint4096_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from /usr/include/fcntl.h:37, from ../nall/platform.hpp:41: ../nall/file.hpp: In static member function 'static uint64_t nall::file::size(const nall::string&)': ../nall/file.hpp:71:20: error: 'data' was not declared in this scope 71 | return S_ISREG(data.st_mode) ? data.st_size : 0u; | ^~~~ In file included from ../nall/arithmetic.hpp:77: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint8192_t&, const uint8192_t&, uint8192_t&, uint8192_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? In file included from ../nall/arithmetic.hpp:53: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint1024_t&, const uint1024_t&, uint1024_t&, uint1024_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/directory.hpp: In function 'bool nall::directoryIsFolder(DIR*, dirent*)': ../nall/directory.hpp:270:12: error: 'struct dirent' has no member named 'd_type' 270 | if(ep->d_type == DT_DIR) return true; | ^~~~~~ ../nall/directory.hpp:270:22: error: 'DT_DIR' was not declared in this scope 270 | if(ep->d_type == DT_DIR) return true; | ^~~~~~ ../nall/directory.hpp:271:12: error: 'struct dirent' has no member named 'd_type' 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ ../nall/file.hpp: In static member function 'static bool nall::file::truncate(const nall::string&, uint64_t)': ../nall/file.hpp:49:3: warning: no return statement in function returning non-void [-Wreturn-type] 49 | } | ^ ../nall/file.hpp: In static member function 'static bool nall::file::exists(const nall::string&)': ../nall/file.hpp:60:14: error: 'data' was not declared in this scope 60 | return !(data.st_mode & S_IFDIR); | ^~~~ In file included from /usr/include/fcntl.h:37, from ../nall/platform.hpp:41: ../nall/file.hpp: In static member function 'static uint64_t nall::file::size(const nall::string&)': ../nall/file.hpp:71:20: error: 'data' was not declared in this scope 71 | return S_ISREG(data.st_mode) ? data.st_size : 0u; | ^~~~ In file included from ../nall/arithmetic.hpp:61: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint2048_t&, const uint2048_t&, uint2048_t&, uint2048_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/directory.hpp:271:22: error: 'DT_LNK' was not declared in this scope 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ ../nall/directory.hpp:271:36: error: 'struct dirent' has no member named 'd_type' 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ In file included from ../nall/arithmetic.hpp:69: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint4096_t&, const uint4096_t&, uint4096_t&, uint4096_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/directory.hpp:271:46: error: 'DT_UNKNOWN' was not declared in this scope; did you mean 'IND_UNKNOWN'? 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~~~~~ | IND_UNKNOWN In file included from ../nall/arithmetic.hpp:77: ../nall/arithmetic/natural.hpp: In function 'void nall::div(const uint8192_t&, const uint8192_t&, uint8192_t&, uint8192_t&)': ../nall/arithmetic/natural.hpp:239:23: error: 'runtime_error' is not a member of 'std' 239 | if(!rhs) throw std::runtime_error("division by zero"); | ^~~~~~~~~~~~~ ../nall/arithmetic/natural.hpp:239:23: note: 'std::runtime_error' is defined in header '<stdexcept>'; did you forget to '#include <stdexcept>'? ../nall/file.hpp: In static member function 'static bool nall::file::truncate(const nall::string&, uint64_t)': ../nall/file.hpp:49:3: warning: no return statement in function returning non-void [-Wreturn-type] 49 | } | ^ ../nall/file.hpp: In static member function 'static bool nall::file::exists(const nall::string&)': ../nall/file.hpp:60:14: error: 'data' was not declared in this scope 60 | return !(data.st_mode & S_IFDIR); | ^~~~ In file included from /usr/include/fcntl.h:37, from ../nall/platform.hpp:41, from ../hiro/core/core.hpp:1: ../nall/file.hpp: In static member function 'static uint64_t nall::file::size(const nall::string&)': ../nall/file.hpp:71:20: error: 'data' was not declared in this scope 71 | return S_ISREG(data.st_mode) ? data.st_size : 0u; | ^~~~ ../nall/directory.hpp: In function 'bool nall::directoryIsFolder(DIR*, dirent*)': ../nall/directory.hpp:270:12: error: 'struct dirent' has no member named 'd_type' 270 | if(ep->d_type == DT_DIR) return true; | ^~~~~~ ../nall/directory.hpp:270:22: error: 'DT_DIR' was not declared in this scope 270 | if(ep->d_type == DT_DIR) return true; | ^~~~~~ ../nall/directory.hpp:271:12: error: 'struct dirent' has no member named 'd_type' 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ ../nall/directory.hpp:271:22: error: 'DT_LNK' was not declared in this scope 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ ../nall/directory.hpp:271:36: error: 'struct dirent' has no member named 'd_type' 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~ ../nall/directory.hpp:271:46: error: 'DT_UNKNOWN' was not declared in this scope; did you mean 'API_UNKNOWN'? 271 | if(ep->d_type == DT_LNK || ep->d_type == DT_UNKNOWN) { | ^~~~~~~~~~ | API_UNKNOWN In file included from ../ruby/video/opengl/opengl.hpp:21: ../ruby/video/opengl/utility.hpp: At global scope: ../ruby/video/opengl/utility.hpp:6:48: error: 'GLuint' does not name a type; did you mean 'uint'? 6 | static auto glrFormat(const string& format) -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:18:48: error: 'GLuint' does not name a type; did you mean 'uint'? 18 | static auto glrFilter(const string& filter) -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:24:45: error: 'GLuint' does not name a type; did you mean 'uint'? 24 | static auto glrWrap(const string& wrap) -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:36:29: error: 'GLuint' does not name a type; did you mean 'uint'? 36 | static auto glrProgram() -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:42:46: error: 'GLint' has not been declared 42 | static auto glrUniform1i(const string& name, GLint value) -> void { | ^~~~~ ../ruby/video/opengl/utility.hpp: In function 'void glrUniform1i(const nall::string&, int)': ../ruby/video/opengl/utility.hpp:43:3: error: 'GLint' was not declared in this scope 43 | GLint location = glGetUniformLocation(glrProgram(), name); | ^~~~~ ../ruby/video/opengl/utility.hpp:44:15: error: 'location' was not declared in this scope; did you mean 'localtime'? 44 | glUniform1i(location, value); | ^~~~~~~~ | localtime ../ruby/video/opengl/utility.hpp:44:3: error: 'glUniform1i' was not declared in this scope; did you mean 'glrUniform1i'? 44 | glUniform1i(location, value); | ^~~~~~~~~~~ | glrUniform1i ../ruby/video/opengl/utility.hpp: At global scope: ../ruby/video/opengl/utility.hpp:47:46: error: 'GLfloat' has not been declared 47 | static auto glrUniform4f(const string& name, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3) -> void { | ^~~~~~~ ../ruby/video/opengl/utility.hpp:47:62: error: 'GLfloat' has not been declared 47 | static auto glrUniform4f(const string& name, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3) -> void { | ^~~~~~~ ../ruby/video/opengl/utility.hpp:47:78: error: 'GLfloat' has not been declared 47 | static auto glrUniform4f(const string& name, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3) -> void { | ^~~~~~~ ../ruby/video/opengl/utility.hpp:47:94: error: 'GLfloat' has not been declared 47 | static auto glrUniform4f(const string& name, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3) -> void { | ^~~~~~~ ../ruby/video/opengl/utility.hpp: In function 'void glrUniform4f(const nall::string&, int, int, int, int)': ../ruby/video/opengl/utility.hpp:48:3: error: 'GLint' was not declared in this scope 48 | GLint location = glGetUniformLocation(glrProgram(), name); | ^~~~~ ../ruby/video/opengl/utility.hpp:49:15: error: 'location' was not declared in this scope; did you mean 'localtime'? 49 | glUniform4f(location, value0, value1, value2, value3); | ^~~~~~~~ | localtime ../ruby/video/opengl/utility.hpp:49:3: error: 'glUniform4f' was not declared in this scope; did you mean 'glrUniform4f'? 49 | glUniform4f(location, value0, value1, value2, value3); | ^~~~~~~~~~~ | glrUniform4f ../ruby/video/opengl/utility.hpp: At global scope: ../ruby/video/opengl/utility.hpp:52:53: error: 'GLfloat' has not been declared 52 | static auto glrUniformMatrix4fv(const string& name, GLfloat* values) -> void { | ^~~~~~~ ../ruby/video/opengl/utility.hpp: In function 'void glrUniformMatrix4fv(const nall::string&, int*)': ../ruby/video/opengl/utility.hpp:53:3: error: 'GLint' was not declared in this scope 53 | GLint location = glGetUniformLocation(glrProgram(), name); | ^~~~~ gmake: *** [../nall/GNUmakefile:165: obj/emulator.o] Error 1 gmake: *** Waiting for unfinished jobs.... ../ruby/video/opengl/utility.hpp:54:22: error: 'location' was not declared in this scope; did you mean 'localtime'? 54 | glUniformMatrix4fv(location, 1, GL_FALSE, values); | ^~~~~~~~ | localtime ../ruby/video/opengl/utility.hpp:54:35: error: 'GL_FALSE' was not declared in this scope; did you mean 'AL_FALSE'? 54 | glUniformMatrix4fv(location, 1, GL_FALSE, values); | ^~~~~~~~ | AL_FALSE ../ruby/video/opengl/utility.hpp:54:3: error: 'glUniformMatrix4fv' was not declared in this scope; did you mean 'glrUniformMatrix4fv'? 54 | glUniformMatrix4fv(location, 1, GL_FALSE, values); | ^~~~~~~~~~~~~~~~~~ | glrUniformMatrix4fv ../ruby/video/opengl/utility.hpp: At global scope: ../ruby/video/opengl/utility.hpp:57:27: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 57 | static auto glrParameters(GLuint filter, GLuint wrap) -> void { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:57:42: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 57 | static auto glrParameters(GLuint filter, GLuint wrap) -> void { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:57:53: error: expression list treated as compound expression in initializer [-fpermissive] 57 | static auto glrParameters(GLuint filter, GLuint wrap) -> void { | ^ ../ruby/video/opengl/utility.hpp:57:55: error: expected ',' or ';' before '->' token 57 | static auto glrParameters(GLuint filter, GLuint wrap) -> void { | ^~ ../ruby/video/opengl/utility.hpp:64:29: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 64 | static auto glrCreateShader(GLuint program, GLuint type, const char* source) -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:64:45: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 64 | static auto glrCreateShader(GLuint program, GLuint type, const char* source) -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:64:58: error: expected primary-expression before 'const' 64 | static auto glrCreateShader(GLuint program, GLuint type, const char* source) -> GLuint { | ^~~~~ ../ruby/video/opengl/utility.hpp:64:76: error: expression list treated as compound expression in initializer [-fpermissive] 64 | static auto glrCreateShader(GLuint program, GLuint type, const char* source) -> GLuint { | ^ ../ruby/video/opengl/utility.hpp:64:78: error: expected ',' or ';' before '->' token 64 | static auto glrCreateShader(GLuint program, GLuint type, const char* source) -> GLuint { | ^~ ../ruby/video/opengl/utility.hpp:83:28: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 83 | static auto glrLinkProgram(GLuint program) -> void { | ^~~~~~ | uint ../ruby/video/opengl/utility.hpp:83:44: error: expected ',' or ';' before '->' token 83 | static auto glrLinkProgram(GLuint program) -> void { | ^~ ../ruby/video/opengl/opengl.hpp:26:29: error: 'GLuint' does not name a type; did you mean 'uint'? 26 | auto getFormat() const -> GLuint; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:27:27: error: 'GLuint' does not name a type; did you mean 'uint'? 27 | auto getType() const -> GLuint; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:29:3: error: 'GLuint' does not name a type; did you mean 'uint'? 29 | GLuint texture = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:32:3: error: 'GLuint' does not name a type; did you mean 'uint'? 32 | GLuint format = GL_RGBA8; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:33:3: error: 'GLuint' does not name a type; did you mean 'uint'? 33 | GLuint filter = GL_LINEAR; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:34:3: error: 'GLuint' does not name a type; did you mean 'uint'? 34 | GLuint wrap = GL_CLAMP_TO_BORDER; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:43:3: error: 'GLuint' does not name a type; did you mean 'uint'? 43 | GLuint program = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:44:3: error: 'GLuint' does not name a type; did you mean 'uint'? 44 | GLuint framebuffer = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:45:3: error: 'GLuint' does not name a type; did you mean 'uint'? 45 | GLuint vao = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:46:3: error: 'GLuint' does not name a type; did you mean 'uint'? 46 | GLuint vbo[3] = {0, 0, 0}; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:47:3: error: 'GLuint' does not name a type; did you mean 'uint'? 47 | GLuint vertex = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:48:3: error: 'GLuint' does not name a type; did you mean 'uint'? 48 | GLuint geometry = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:49:3: error: 'GLuint' does not name a type; did you mean 'uint'? 49 | GLuint fragment = 0; | ^~~~~~ | uint ../ruby/video/opengl/opengl.hpp:78:3: error: 'GLuint' does not name a type; did you mean 'uint'? 78 | GLuint inputFormat = GL_RGBA8; | ^~~~~~ | uint In file included from ../ruby/video/opengl/opengl.hpp:96: ../ruby/video/opengl/texture.hpp:1:42: error: 'GLuint' does not name a type; did you mean 'uint'? 1 | auto OpenGLTexture::getFormat() const -> GLuint { | ^~~~~~ | uint ../ruby/video/opengl/texture.hpp:7:40: error: 'GLuint' does not name a type; did you mean 'uint'? 7 | auto OpenGLTexture::getType() const -> GLuint { | ^~~~~~ | uint In file included from ../ruby/video/opengl/opengl.hpp:97: ../ruby/video/opengl/surface.hpp: In member function 'void OpenGLSurface::allocate()': ../ruby/video/opengl/surface.hpp:2:25: error: 'vao' was not declared in this scope 2 | glGenVertexArrays(1, &vao); | ^~~ ../ruby/video/opengl/surface.hpp:2:3: error: 'glGenVertexArrays' was not declared in this scope 2 | glGenVertexArrays(1, &vao); | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:3:3: error: 'glBindVertexArray' was not declared in this scope 3 | glBindVertexArray(vao); | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:4:20: error: 'vbo' was not declared in this scope 4 | glGenBuffers(3, &vbo[0]); | ^~~ ../ruby/video/opengl/surface.hpp:4:3: error: 'glGenBuffers' was not declared in this scope 4 | glGenBuffers(3, &vbo[0]); | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp: In member function 'void OpenGLSurface::size(uint, uint)': ../ruby/video/opengl/surface.hpp:12:6: error: 'texture' was not declared in this scope 12 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~ ../ruby/video/opengl/surface.hpp:12:17: error: 'glDeleteTextures' was not declared in this scope 12 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:16:21: error: 'texture' was not declared in this scope 16 | glGenTextures(1, &texture); | ^~~~~~~ ../ruby/video/opengl/surface.hpp:16:3: error: 'glGenTextures' was not declared in this scope 16 | glGenTextures(1, &texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:17:17: error: 'GL_TEXTURE_2D' was not declared in this scope 17 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:17:3: error: 'glBindTexture' was not declared in this scope 17 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:18:34: error: 'format' was not declared in this scope 18 | glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, getFormat(), getType(), buffer); | ^~~~~~ ../ruby/video/opengl/surface.hpp:18:51: error: 'getFormat' was not declared in this scope 18 | glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, getFormat(), getType(), buffer); | ^~~~~~~~~ gmake: *** [../nall/GNUmakefile:165: obj/filter.o] Error 1 ../ruby/video/opengl/surface.hpp:18:64: error: 'getType' was not declared in this scope 18 | glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, getFormat(), getType(), buffer); | ^~~~~~~ ../ruby/video/opengl/surface.hpp:18:3: error: 'glTexImage2D' was not declared in this scope 18 | glTexImage2D(GL_TEXTURE_2D, 0, format, w, h, 0, getFormat(), getType(), buffer); | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:20:6: error: 'framebuffer' was not declared in this scope 20 | if(framebuffer) { | ^~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:21:23: error: 'GL_DRAW_FRAMEBUFFER' was not declared in this scope 21 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffer); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:21:5: error: 'glBindFramebuffer' was not declared in this scope 21 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffer); | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:22:28: error: 'GL_FRAMEBUFFER' was not declared in this scope 22 | glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); | ^~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:22:44: error: 'GL_COLOR_ATTACHMENT0' was not declared in this scope 22 | glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:22:5: error: 'glFramebufferTexture2D' was not declared in this scope 22 | glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp: In member function 'void OpenGLSurface::release()': ../ruby/video/opengl/surface.hpp:29:6: error: 'vbo' was not declared in this scope 29 | if(vbo[0]) { glDeleteBuffers(3, &vbo[0]); for(auto &o : vbo) o = 0; } | ^~~ ../ruby/video/opengl/surface.hpp:29:16: error: 'glDeleteBuffers' was not declared in this scope 29 | if(vbo[0]) { glDeleteBuffers(3, &vbo[0]); for(auto &o : vbo) o = 0; } | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:30:6: error: 'vao' was not declared in this scope 30 | if(vao) { glDeleteVertexArrays(1, &vao); vao = 0; } | ^~~ ../ruby/video/opengl/surface.hpp:30:13: error: 'glDeleteVertexArrays' was not declared in this scope 30 | if(vao) { glDeleteVertexArrays(1, &vao); vao = 0; } | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:31:6: error: 'vertex' was not declared in this scope 31 | if(vertex) { glDetachShader(program, vertex); glDeleteShader(vertex); vertex = 0; } | ^~~~~~ ../ruby/video/opengl/surface.hpp:31:31: error: 'program' was not declared in this scope 31 | if(vertex) { glDetachShader(program, vertex); glDeleteShader(vertex); vertex = 0; } | ^~~~~~~ ../ruby/video/opengl/surface.hpp:31:16: error: 'glDetachShader' was not declared in this scope 31 | if(vertex) { glDetachShader(program, vertex); glDeleteShader(vertex); vertex = 0; } | ^~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:31:49: error: 'glDeleteShader' was not declared in this scope; did you mean 'glrCreateShader'? 31 | if(vertex) { glDetachShader(program, vertex); glDeleteShader(vertex); vertex = 0; } | ^~~~~~~~~~~~~~ | glrCreateShader ../ruby/video/opengl/surface.hpp:32:6: error: 'geometry' was not declared in this scope 32 | if(geometry) { glDetachShader(program, geometry); glDeleteShader(geometry); geometry = 0; } | ^~~~~~~~ ../ruby/video/opengl/surface.hpp:32:33: error: 'program' was not declared in this scope 32 | if(geometry) { glDetachShader(program, geometry); glDeleteShader(geometry); geometry = 0; } | ^~~~~~~ ../ruby/video/opengl/surface.hpp:32:18: error: 'glDetachShader' was not declared in this scope 32 | if(geometry) { glDetachShader(program, geometry); glDeleteShader(geometry); geometry = 0; } | ^~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:32:53: error: 'glDeleteShader' was not declared in this scope; did you mean 'glrCreateShader'? 32 | if(geometry) { glDetachShader(program, geometry); glDeleteShader(geometry); geometry = 0; } | ^~~~~~~~~~~~~~ | glrCreateShader ../ruby/video/opengl/surface.hpp:33:6: error: 'fragment' was not declared in this scope 33 | if(fragment) { glDetachShader(program, fragment); glDeleteShader(fragment); fragment = 0; } | ^~~~~~~~ ../ruby/video/opengl/surface.hpp:33:33: error: 'program' was not declared in this scope 33 | if(fragment) { glDetachShader(program, fragment); glDeleteShader(fragment); fragment = 0; } | ^~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:8, from ../hiro/core/../gtk/platform.cpp:1, from ../hiro/core/core.cpp:21: ../hiro/core/../gtk/font.hpp: At global scope: ../hiro/core/../gtk/font.hpp:7:20: error: 'PangoFontDescription' has not been declared 7 | static auto size(PangoFontDescription* font, const string& text) -> Size; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.hpp:9:43: error: 'PangoFontDescription' does not name a type 9 | static auto create(const Font& font) -> PangoFontDescription*; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.hpp:9:43: error: expected ';' at end of member declaration 9 | static auto create(const Font& font) -> PangoFontDescription*; | ^~~~~~~~~~~~~~~~~~~~ | ; ../hiro/core/../gtk/font.hpp:9:64: error: expected unqualified-id before ';' token 9 | static auto create(const Font& font) -> PangoFontDescription*; | ^ ../hiro/core/../gtk/font.hpp:10:20: error: 'PangoFontDescription' has not been declared 10 | static auto free(PangoFontDescription* font) -> void; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.hpp:11:23: error: 'GtkWidget' has not been declared 11 | static auto setFont(GtkWidget* widget, const Font& font) -> void; | ^~~~~~~~~ ../hiro/core/../gtk/font.hpp:12:23: error: 'GtkWidget' has not been declared 12 | static auto setFont(GtkWidget* widget, gpointer font) -> void; | ^~~~~~~~~ ../hiro/core/../gtk/font.hpp:12:42: error: 'gpointer' has not been declared 12 | static auto setFont(GtkWidget* widget, gpointer font) -> void; | ^~~~~~~~ ../ruby/video/opengl/surface.hpp:33:18: error: 'glDetachShader' was not declared in this scope 33 | if(fragment) { glDetachShader(program, fragment); glDeleteShader(fragment); fragment = 0; } | ^~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:33:53: error: 'glDeleteShader' was not declared in this scope; did you mean 'glrCreateShader'? 33 | if(fragment) { glDetachShader(program, fragment); glDeleteShader(fragment); fragment = 0; } | ^~~~~~~~~~~~~~ | glrCreateShader ../ruby/video/opengl/surface.hpp:34:6: error: 'texture' was not declared in this scope 34 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:20: ../hiro/core/../gtk/window.hpp:52:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 52 | GtkWidget* widget = nullptr; | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.hpp:53:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 53 | GtkWidget* menuContainer = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:34:17: error: 'glDeleteTextures' was not declared in this scope 34 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.hpp:54:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 54 | GtkWidget* formContainer = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:35:6: error: 'framebuffer' was not declared in this scope 35 | if(framebuffer) { glDeleteFramebuffers(1, &framebuffer); framebuffer = 0; } | ^~~~~~~~~~~ ../hiro/core/../gtk/window.hpp:55:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 55 | GtkWidget* statusContainer = nullptr; | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.hpp:56:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 56 | GtkWidget* gtkMenu = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:35:21: error: 'glDeleteFramebuffers' was not declared in this scope 35 | if(framebuffer) { glDeleteFramebuffers(1, &framebuffer); framebuffer = 0; } | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.hpp:57:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 57 | GtkWidget* gtkStatus = nullptr; | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.hpp:58:3: error: 'GtkAllocation' does not name a type 58 | GtkAllocation lastMove = {0}; | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:36:6: error: 'program' was not declared in this scope 36 | if(program) { glDeleteProgram(program); program = 0; } | ^~~~~~~ ../hiro/core/../gtk/window.hpp:59:3: error: 'GtkAllocation' does not name a type 59 | GtkAllocation lastSize = {0}; | ^~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:23: ../hiro/core/../gtk/popup-menu.hpp:13:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 13 | GtkWidget* gtkMenu = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:36:17: error: 'glDeleteProgram' was not declared in this scope 36 | if(program) { glDeleteProgram(program); program = 0; } | ^~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:25: ../hiro/core/../gtk/action/action.hpp:14:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 14 | GtkWidget* widget = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp: In member function 'void OpenGLSurface::render(uint, uint, uint, uint, uint, uint)': ../ruby/video/opengl/surface.hpp:41:3: error: 'glViewport' was not declared in this scope 41 | glViewport(targetX, targetY, targetWidth, targetHeight); | ^~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:26: ../hiro/core/../gtk/action/menu.hpp:14:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 14 | GtkWidget* gtkMenu = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:49:3: error: 'GLfloat' was not declared in this scope; did you mean 'float'? 49 | GLfloat modelView[] = { | ^~~~~~~ | float ../ruby/video/opengl/surface.hpp:56:10: error: expected ';' before 'projection' 56 | GLfloat projection[] = { | ^~~~~~~~~~~ | ; ../ruby/video/opengl/surface.hpp:63:10: error: expected ';' before 'modelViewProjection' 63 | GLfloat modelViewProjection[4 * 4]; | ^~~~~~~~~~~~~~~~~~~~ | ; In file included from ../hiro/core/../gtk/platform.hpp:30: ../hiro/core/../gtk/action/menu-radio-item.hpp:16:3: error: 'GtkCheckMenuItem' does not name a type 16 | GtkCheckMenuItem* gtkCheckMenuItem = nullptr; | ^~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:64:18: error: 'modelViewProjection' was not declared in this scope 64 | MatrixMultiply(modelViewProjection, modelView, 4, 4, projection, 4, 4); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.hpp:17:3: error: 'GtkRadioMenuItem' does not name a type 17 | GtkRadioMenuItem* gtkRadioMenuItem = nullptr; | ^~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:34: ../hiro/core/../gtk/widget/widget.hpp:8:46: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 8 | virtual auto container(mWidget& widget) -> GtkWidget*; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.hpp:8:46: error: expected ';' at end of member declaration 8 | virtual auto container(mWidget& widget) -> GtkWidget*; | ^~~~~~~~~ | ; ../hiro/core/../gtk/widget/widget.hpp:8:56: error: expected unqualified-id before ';' token 8 | virtual auto container(mWidget& widget) -> GtkWidget*; | ^ ../ruby/video/opengl/surface.hpp:64:39: error: 'modelView' was not declared in this scope 64 | MatrixMultiply(modelViewProjection, modelView, 4, 4, projection, 4, 4); | ^~~~~~~~~ ../ruby/video/opengl/surface.hpp:64:56: error: 'projection' was not declared in this scope 64 | MatrixMultiply(modelViewProjection, modelView, 4, 4, projection, 4, 4); | ^~~~~~~~~~ ../ruby/video/opengl/surface.hpp:66:10: error: expected ';' before 'vertices' 66 | GLfloat vertices[] = { | ^~~~~~~~~ | ; ../ruby/video/opengl/surface.hpp:73:10: error: expected ';' before 'positions' 73 | GLfloat positions[4 * 4]; | ^~~~~~~~~~ | ; ../hiro/core/../gtk/widget/widget.hpp:20:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 20 | GtkWidget* gtkWidget = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.hpp:21:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 21 | GtkWidget* gtkParent = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.hpp:22:3: error: 'GdkCursor' does not name a type 22 | GdkCursor* gdkMouseCursor = nullptr; | ^~~~~~~~~ ../ruby/video/opengl/surface.hpp:75:21: error: 'positions' was not declared in this scope; did you mean 'PPosition'? 75 | MatrixMultiply(&positions[n], &vertices[n], 1, 4, modelViewProjection, 4, 4); | ^~~~~~~~~ | PPosition In file included from ../hiro/core/../gtk/platform.hpp:35: ../hiro/core/../gtk/widget/button.hpp:16:3: error: 'GtkButton' does not name a type; did you mean 'pButton'? 16 | GtkButton* gtkButton = nullptr; | ^~~~~~~~~ | pButton In file included from ../hiro/core/../gtk/platform.hpp:36: ../hiro/core/../gtk/widget/canvas.hpp:18:16: error: 'cairo_t' has not been declared 18 | auto _onDraw(cairo_t* context) -> void; | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.hpp:19:18: error: 'GdkEventExpose' has not been declared 19 | auto _onExpose(GdkEventExpose* event) -> void; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.hpp:24:3: error: 'GdkPixbuf' does not name a type 24 | GdkPixbuf* surface = nullptr; | ^~~~~~~~~ ../ruby/video/opengl/surface.hpp:75:36: error: 'vertices' was not declared in this scope 75 | MatrixMultiply(&positions[n], &vertices[n], 1, 4, modelViewProjection, 4, 4); | ^~~~~~~~ ../ruby/video/opengl/surface.hpp:78:10: error: expected ';' before 'texCoords' 78 | GLfloat texCoords[] = { | ^~~~~~~~~~ | ; In file included from ../hiro/core/../gtk/platform.hpp:39: ../hiro/core/../gtk/widget/combo-button.hpp:17:3: error: 'GtkListStore' does not name a type 17 | GtkListStore* gtkListStore = nullptr; | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:89:21: error: 'vao' was not declared in this scope 89 | glBindVertexArray(vao); | ^~~ ../hiro/core/../gtk/widget/combo-button.hpp:18:3: error: 'GtkTreeModel' does not name a type 18 | GtkTreeModel* gtkTreeModel = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.hpp:19:3: error: 'GtkComboBox' does not name a type 19 | GtkComboBox* gtkComboBox = nullptr; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.hpp:20:3: error: 'GtkCellRenderer' does not name a type 20 | GtkCellRenderer* gtkCellIcon = nullptr; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:89:3: error: 'glBindVertexArray' was not declared in this scope 89 | glBindVertexArray(vao); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.hpp:21:3: error: 'GtkCellRenderer' does not name a type 21 | GtkCellRenderer* gtkCellText = nullptr; | ^~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:40: ../hiro/core/../gtk/widget/combo-button-item.hpp:14:3: error: 'GtkTreeIter' does not name a type 14 | GtkTreeIter gtkIter; | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:41: ../hiro/core/../gtk/widget/combo-edit.hpp:20:3: error: 'GtkListStore' does not name a type 20 | GtkListStore* gtkListStore = nullptr; | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:91:16: error: 'GL_ARRAY_BUFFER' was not declared in this scope 91 | glBindBuffer(GL_ARRAY_BUFFER, vbo[0]); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.hpp:21:3: error: 'GtkTreeModel' does not name a type 21 | GtkTreeModel* gtkTreeModel = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.hpp:22:3: error: 'GtkComboBox' does not name a type 22 | GtkComboBox* gtkComboBox = nullptr; | ^~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:91:33: error: 'vbo' was not declared in this scope 91 | glBindBuffer(GL_ARRAY_BUFFER, vbo[0]); | ^~~ ../hiro/core/../gtk/widget/combo-edit.hpp:23:3: error: 'GtkCellRenderer' does not name a type 23 | GtkCellRenderer* gtkCellIcon = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.hpp:24:3: error: 'GtkCellRenderer' does not name a type 24 | GtkCellRenderer* gtkCellText = nullptr; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:91:3: error: 'glBindBuffer' was not declared in this scope 91 | glBindBuffer(GL_ARRAY_BUFFER, vbo[0]); | ^~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:42: ../hiro/core/../gtk/widget/combo-edit-item.hpp:13:3: error: 'GtkTreeIter' does not name a type 13 | GtkTreeIter gtkIter; | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:43: ../hiro/core/../gtk/widget/console.hpp:18:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 18 | GtkWidget* subWidget = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/opengl/surface.hpp:92:55: error: 'vertices' was not declared in this scope 92 | glBufferData(GL_ARRAY_BUFFER, 16 * sizeof(GLfloat), vertices, GL_STATIC_DRAW); | ^~~~~~~~ ../hiro/core/../gtk/widget/console.hpp:19:3: error: 'GtkTextBuffer' does not name a type 19 | GtkTextBuffer* textBuffer = nullptr; | ^~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:44: ../hiro/core/../gtk/widget/frame.hpp:9:38: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/frame.hpp:9:38: error: expected ';' at end of member declaration 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~~ | ; ../hiro/core/../gtk/widget/frame.hpp:9:49: error: ISO C++ forbids declaration of 'override' with no type [-fpermissive] 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~ ../hiro/core/../gtk/widget/frame.hpp:19:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 19 | GtkWidget* gtkLabel = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/frame.hpp:20:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 20 | GtkWidget* gtkChild = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/opengl/surface.hpp:92:65: error: 'GL_STATIC_DRAW' was not declared in this scope 92 | glBufferData(GL_ARRAY_BUFFER, 16 * sizeof(GLfloat), vertices, GL_STATIC_DRAW); | ^~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:45: ../hiro/core/../gtk/widget/hex-edit.hpp:26:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 26 | GtkWidget* container = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/hex-edit.hpp:27:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 27 | GtkWidget* subWidget = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/hex-edit.hpp:28:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 28 | GtkWidget* scrollBar = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/opengl/surface.hpp:92:3: error: 'glBufferData' was not declared in this scope 92 | glBufferData(GL_ARRAY_BUFFER, 16 * sizeof(GLfloat), vertices, GL_STATIC_DRAW); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.hpp:29:3: error: 'GtkTextBuffer' does not name a type 29 | GtkTextBuffer* textBuffer = nullptr; | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:93:3: error: 'GLint' was not declared in this scope 93 | GLint locationVertex = glGetAttribLocation(program, "vertex"); | ^~~~~ ../hiro/core/../gtk/widget/hex-edit.hpp:30:3: error: 'GtkTextMark' does not name a type 30 | GtkTextMark* textCursor = nullptr; | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:48: ../hiro/core/../gtk/widget/icon-view.hpp:26:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 26 | GtkWidget* subWidget = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/icon-view.hpp:27:3: error: 'GtkListStore' does not name a type 27 | GtkListStore* store = nullptr; | ^~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:50: ../hiro/core/../gtk/widget/label.hpp:15:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 15 | GtkWidget* subWidget = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/opengl/surface.hpp:94:29: error: 'locationVertex' was not declared in this scope 94 | glEnableVertexAttribArray(locationVertex); | ^~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:54: ../hiro/core/../gtk/widget/radio-label.hpp:15:3: error: 'GtkToggleButton' does not name a type 15 | GtkToggleButton* gtkToggleButton = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.hpp:16:3: error: 'GtkRadioButton' does not name a type; did you mean 'wRadioButton'? 16 | GtkRadioButton* gtkRadioButton = nullptr; | ^~~~~~~~~~~~~~ | wRadioButton In file included from ../hiro/core/../gtk/platform.hpp:55: ../hiro/core/../gtk/widget/source-edit.hpp:19:3: error: 'GtkScrolledWindow' does not name a type 19 | GtkScrolledWindow* gtkScrolledWindow = nullptr; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:20:3: error: 'GtkContainer' does not name a type 20 | GtkContainer* gtkContainer = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:21:3: error: 'GtkSourceBuffer' does not name a type 21 | GtkSourceBuffer* gtkSourceBuffer = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:22:3: error: 'GtkTextBuffer' does not name a type 22 | GtkTextBuffer* gtkTextBuffer = nullptr; | ^~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:94:3: error: 'glEnableVertexAttribArray' was not declared in this scope 94 | glEnableVertexAttribArray(locationVertex); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:23:3: error: 'GtkSourceLanguageManager' does not name a type 23 | GtkSourceLanguageManager* gtkSourceLanguageManager = nullptr; | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:24:3: error: 'GtkSourceLanguage' does not name a type 24 | GtkSourceLanguage* gtkSourceLanguage = nullptr; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:95:44: error: 'GL_FLOAT' was not declared in this scope 95 | glVertexAttribPointer(locationVertex, 4, GL_FLOAT, GL_FALSE, 0, 0); | ^~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:25:3: error: 'GtkSourceStyleSchemeManager' does not name a type 25 | GtkSourceStyleSchemeManager* gtkSourceStyleSchemeManager = nullptr; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:26:3: error: 'GtkSourceStyleScheme' does not name a type 26 | GtkSourceStyleScheme* gtkSourceStyleScheme = nullptr; | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:95:54: error: 'GL_FALSE' was not declared in this scope; did you mean 'AL_FALSE'? 95 | glVertexAttribPointer(locationVertex, 4, GL_FLOAT, GL_FALSE, 0, 0); | ^~~~~~~~ | AL_FALSE ../hiro/core/../gtk/widget/source-edit.hpp:27:3: error: 'GtkSourceView' does not name a type 27 | GtkSourceView* gtkSourceView = nullptr; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:28:3: error: 'GtkTextView' does not name a type 28 | GtkTextView* gtkTextView = nullptr; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.hpp:29:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 29 | GtkWidget* gtkWidgetSourceView = nullptr; | ^~~~~~~~~ | pWidget In file included from ../hiro/core/../gtk/platform.hpp:56: ../hiro/core/../gtk/widget/tab-frame.hpp:9:38: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.hpp:9:38: error: expected ';' at end of member declaration 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~~ | ; ../hiro/core/../gtk/widget/tab-frame.hpp:9:49: error: ISO C++ forbids declaration of 'override' with no type [-fpermissive] 9 | auto container(mWidget& widget) -> GtkWidget* override; | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.hpp:28:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 28 | GtkWidget* child = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.hpp:29:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 29 | GtkWidget* container = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.hpp:30:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 30 | GtkWidget* layout = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.hpp:31:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 31 | GtkWidget* image = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/opengl/surface.hpp:95:3: error: 'glVertexAttribPointer' was not declared in this scope 95 | glVertexAttribPointer(locationVertex, 4, GL_FLOAT, GL_FALSE, 0, 0); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.hpp:32:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 32 | GtkWidget* title = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.hpp:33:5: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 33 | GtkWidget* close = nullptr; | ^~~~~~~~~ | pWidget In file included from ../hiro/core/../gtk/platform.hpp:58: ../hiro/core/../gtk/widget/table-view.hpp:28:20: error: 'GtkTreePath' has not been declared 28 | auto _doActivate(GtkTreePath* = nullptr, GtkTreeViewColumn* = nullptr) -> void; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:28:44: error: 'GtkTreeViewColumn' has not been declared 28 | auto _doActivate(GtkTreePath* = nullptr, GtkTreeViewColumn* = nullptr) -> void; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:31:20: error: 'GtkTreeViewColumn' has not been declared 31 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:31:47: error: 'GtkCellRenderer' has not been declared 31 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:31:74: error: 'GtkTreeIter' has not been declared 31 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:32:16: error: 'GtkCellRendererText' has not been declared 32 | auto _doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void; | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:33:17: error: 'GdkEventButton' has not been declared 33 | auto _doEvent(GdkEventButton* event) -> int; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:34:26: error: 'GtkTreeViewColumn' has not been declared 34 | auto _doHeaderActivate(GtkTreeViewColumn* column) -> void; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:35:20: error: 'GdkEventKey' has not been declared 35 | auto _doKeyPress(GdkEventKey* event) -> bool; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:37:18: error: 'GtkCellRendererToggle' has not been declared 37 | auto _doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void; | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:98:55: error: 'positions' was not declared in this scope; did you mean 'PPosition'? 98 | glBufferData(GL_ARRAY_BUFFER, 16 * sizeof(GLfloat), positions, GL_STATIC_DRAW); | ^~~~~~~~~ | PPosition ../ruby/video/opengl/surface.hpp:99:8: error: expected ';' before 'locationPosition' 99 | GLint locationPosition = glGetAttribLocation(program, "position"); | ^~~~~~~~~~~~~~~~~ | ; ../hiro/core/../gtk/widget/table-view.hpp:42:3: error: 'GtkScrolledWindow' does not name a type 42 | GtkScrolledWindow* gtkScrolledWindow = nullptr; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:43:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 43 | GtkWidget* gtkWidgetChild = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/table-view.hpp:44:3: error: 'GtkTreeView' does not name a type; did you mean 'wTreeView'? 44 | GtkTreeView* gtkTreeView = nullptr; | ^~~~~~~~~~~ | wTreeView ../ruby/video/opengl/surface.hpp:100:29: error: 'locationPosition' was not declared in this scope 100 | glEnableVertexAttribArray(locationPosition); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:45:3: error: 'GtkTreeSelection' does not name a type 45 | GtkTreeSelection* gtkTreeSelection = nullptr; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:46:3: error: 'GtkListStore' does not name a type 46 | GtkListStore* gtkListStore = nullptr; | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:104:54: error: 'texCoords' was not declared in this scope 104 | glBufferData(GL_ARRAY_BUFFER, 8 * sizeof(GLfloat), texCoords, GL_STATIC_DRAW); | ^~~~~~~~~ ../ruby/video/opengl/surface.hpp:105:8: error: expected ';' before 'locationTexCoord' 105 | GLint locationTexCoord = glGetAttribLocation(program, "texCoord"); | ^~~~~~~~~~~~~~~~~ | ; ../hiro/core/../gtk/widget/table-view.hpp:47:3: error: 'GtkTreeModel' does not name a type 47 | GtkTreeModel* gtkTreeModel = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.hpp:48:3: error: 'GtkEntry' does not name a type 48 | GtkEntry* gtkEntry = nullptr; | ^~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:59: ../hiro/core/../gtk/widget/table-view-column.hpp:26:3: error: 'GtkTreeViewColumn' does not name a type 26 | GtkTreeViewColumn* gtkColumn = nullptr; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.hpp:27:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 27 | GtkWidget* gtkHeader = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:106:29: error: 'locationTexCoord' was not declared in this scope 106 | glEnableVertexAttribArray(locationTexCoord); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.hpp:28:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 28 | GtkWidget* gtkHeaderIcon = nullptr; | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/table-view-column.hpp:29:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 29 | GtkWidget* gtkHeaderText = nullptr; | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/table-view-column.hpp:30:3: error: 'GtkWidget' does not name a type; did you mean 'wWidget'? 30 | GtkWidget* gtkHeaderSort = nullptr; | ^~~~~~~~~ | wWidget ../ruby/video/opengl/surface.hpp:109:26: error: 'program' was not declared in this scope 109 | glBindFragDataLocation(program, 0, "fragColor"); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-column.hpp:31:3: error: 'GtkCellRenderer' does not name a type 31 | GtkCellRenderer* gtkCellToggle = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.hpp:32:3: error: 'GtkCellRenderer' does not name a type 32 | GtkCellRenderer* gtkCellIcon = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.hpp:33:3: error: 'GtkCellRenderer' does not name a type 33 | GtkCellRenderer* gtkCellText = nullptr; | ^~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:60: ../hiro/core/../gtk/widget/table-view-item.hpp:19:3: error: 'GtkTreeIter' does not name a type 19 | GtkTreeIter gtkIter; | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:62: ../hiro/core/../gtk/widget/text-edit.hpp:19:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 19 | GtkWidget* subWidget = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/text-edit.hpp:20:3: error: 'GtkTextBuffer' does not name a type 20 | GtkTextBuffer* textBuffer = nullptr; | ^~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:63: ../hiro/core/../gtk/widget/tree-view.hpp:16:22: error: 'GtkTreePath' has not been declared 16 | auto _activatePath(GtkTreePath* gtkPath) -> void; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:17:21: error: 'GdkEventButton' has not been declared 17 | auto _buttonEvent(GdkEventButton* gdkEvent) -> signed; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:18:20: error: 'GtkTreeViewColumn' has not been declared 18 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:18:47: error: 'GtkCellRenderer' has not been declared 18 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:18:74: error: 'GtkTreeIter' has not been declared 18 | auto _doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:25:3: error: 'GtkScrolledWindow' does not name a type 25 | GtkScrolledWindow* gtkScrolledWindow = nullptr; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:109:3: error: 'glBindFragDataLocation' was not declared in this scope 109 | glBindFragDataLocation(program, 0, "fragColor"); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:26:3: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 26 | GtkWidget* gtkWidgetChild = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tree-view.hpp:27:3: error: 'GtkTreeStore' does not name a type 27 | GtkTreeStore* gtkTreeStore = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:28:3: error: 'GtkTreeModel' does not name a type 28 | GtkTreeModel* gtkTreeModel = nullptr; | ^~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:110:16: error: 'GL_TRIANGLE_STRIP' was not declared in this scope 110 | glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:29:3: error: 'GtkTreeSelection' does not name a type 29 | GtkTreeSelection* gtkTreeSelection = nullptr; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:30:3: error: 'GtkTreeView' does not name a type; did you mean 'pTreeView'? 30 | GtkTreeView* gtkTreeView = nullptr; | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view.hpp:31:3: error: 'GtkTreeViewColumn' does not name a type 31 | GtkTreeViewColumn* gtkTreeViewColumn = nullptr; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:32:3: error: 'GtkCellRenderer' does not name a type 32 | GtkCellRenderer* gtkCellToggle = nullptr; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:110:3: error: 'glDrawArrays' was not declared in this scope 110 | glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:33:3: error: 'GtkCellRenderer' does not name a type 33 | GtkCellRenderer* gtkCellPixbuf = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:34:3: error: 'GtkCellRenderer' does not name a type 34 | GtkCellRenderer* gtkCellText = nullptr; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.hpp:35:3: error: 'GtkEntry' does not name a type 35 | GtkEntry* gtkEntry = nullptr; | ^~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:64: ../hiro/core/../gtk/widget/tree-view-item.hpp:25:3: error: 'GtkTreeIter' does not name a type 25 | GtkTreeIter gtkIter; | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.hpp:67: ../hiro/core/../gtk/widget/viewport.hpp:11:16: error: 'cairo_t' has not been declared 11 | auto _onDraw(cairo_t* context) -> void; | ^~~~~~~ ../hiro/core/../gtk/widget/viewport.hpp:12:18: error: 'GdkEventExpose' has not been declared 12 | auto _onExpose(GdkEventExpose* expose) -> void; | ^~~~~~~~~~~~~~ ../ruby/video/opengl/surface.hpp:112:3: error: 'glDisableVertexAttribArray' was not declared in this scope 112 | glDisableVertexAttribArray(locationVertex); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:2: ../hiro/core/../gtk/utility.cpp:4:48: error: 'GdkColor' does not name a type; did you mean 'Color'? 4 | static auto CreateColor(const Color& color) -> GdkColor { | ^~~~~~~~ | Color ../hiro/core/../gtk/utility.cpp:14:61: error: 'GdkPixbuf' does not name a type 14 | static auto CreatePixbuf(image icon, bool scale = false) -> GdkPixbuf* { | ^~~~~~~~~ ../hiro/core/../gtk/utility.cpp:14:70: error: expected initializer before '*' token 14 | static auto CreatePixbuf(image icon, bool scale = false) -> GdkPixbuf* { | ^ ../hiro/core/../gtk/utility.cpp:32:67: error: 'GtkImage' does not name a type 32 | static auto CreateImage(const image& icon, bool scale = false) -> GtkImage* { | ^~~~~~~~ ../hiro/core/../gtk/utility.cpp:32:75: error: expected initializer before '*' token 32 | static auto CreateImage(const image& icon, bool scale = false) -> GtkImage* { | ^ ../hiro/core/../gtk/utility.cpp:39:23: error: 'GtkSelectionData' was not declared in this scope 39 | static auto DropPaths(GtkSelectionData* data) -> vector<string> { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/utility.cpp:39:41: error: 'data' was not declared in this scope 39 | static auto DropPaths(GtkSelectionData* data) -> vector<string> { | ^~~~ ../hiro/core/../gtk/utility.cpp:39:47: error: expected ',' or ';' before '->' token 39 | static auto DropPaths(GtkSelectionData* data) -> vector<string> { | ^~ In file included from ../ruby/video/opengl/opengl.hpp:98: ../ruby/video/opengl/program.hpp: In member function 'void OpenGLProgram::bind(OpenGL*, const nall::Markup::Node&, const nall::string&)': ../ruby/video/opengl/program.hpp:2:3: error: 'filter' was not declared in this scope 2 | filter = glrFilter(node["filter"].text()); | ^~~~~~ ../ruby/video/opengl/program.hpp:2:12: error: 'glrFilter' was not declared in this scope 2 | filter = glrFilter(node["filter"].text()); | ^~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:4: ../hiro/core/../gtk/font.cpp: In static member function 'static hiro::Size hiro::pFont::size(const hiro::Font&, const nall::string&)': ../hiro/core/../gtk/font.cpp:6:3: error: 'PangoFontDescription' was not declared in this scope 6 | PangoFontDescription* description = create(font); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:3:3: error: 'wrap' was not declared in this scope 3 | wrap = glrWrap(node["wrap"].text()); | ^~~~ ../ruby/video/opengl/program.hpp:3:10: error: 'glrWrap' was not declared in this scope 3 | wrap = glrWrap(node["wrap"].text()); | ^~~~~~~ ../hiro/core/../gtk/font.cpp:6:25: error: 'description' was not declared in this scope 6 | PangoFontDescription* description = create(font); | ^~~~~~~~~~~ ../ruby/video/opengl/program.hpp:12:3: error: 'format' was not declared in this scope 12 | format = glrFormat(node["format"].text()); | ^~~~~~ ../hiro/core/../gtk/font.cpp:6:39: error: 'create' was not declared in this scope; did you mean 'creat'? 6 | PangoFontDescription* description = create(font); | ^~~~~~ | creat ../hiro/core/../gtk/font.cpp: At global scope: ../hiro/core/../gtk/font.cpp:12:6: error: 'auto hiro::pFont::size' is not a static data member of 'struct hiro::pFont' 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^~~~~ ../hiro/core/../gtk/font.cpp:12:18: error: 'PangoFontDescription' was not declared in this scope 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.cpp:12:40: error: 'font' was not declared in this scope; did you mean 'Font'? 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^~~~ | Font ../hiro/core/../gtk/font.cpp:12:46: error: expected primary-expression before 'const' 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^~~~~ ../hiro/core/../gtk/font.cpp:12:64: error: expression list treated as compound expression in initializer [-fpermissive] 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^ ../hiro/core/../gtk/font.cpp:12:66: error: expected ',' or ';' before '->' token 12 | auto pFont::size(PangoFontDescription* font, const string& text) -> Size { | ^~ ../ruby/video/opengl/program.hpp:12:12: error: 'glrFormat' was not declared in this scope 12 | format = glrFormat(node["format"].text()); | ^~~~~~~~~ ../hiro/core/../gtk/font.cpp:40:41: error: 'PangoFontDescription' does not name a type 40 | auto pFont::create(const Font& font) -> PangoFontDescription* { | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.cpp:40:61: error: expected initializer before '*' token 40 | auto pFont::create(const Font& font) -> PangoFontDescription* { | ^ ../hiro/core/../gtk/font.cpp:49:6: error: 'auto hiro::pFont::free' is not a static data member of 'struct hiro::pFont' 49 | auto pFont::free(PangoFontDescription* font) -> void { | ^~~~~ ../ruby/video/opengl/program.hpp:14:3: error: 'program' was not declared in this scope 14 | program = glCreateProgram(); | ^~~~~~~ ../hiro/core/../gtk/font.cpp:49:18: error: 'PangoFontDescription' was not declared in this scope 49 | auto pFont::free(PangoFontDescription* font) -> void { | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:14:13: error: 'glCreateProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 14 | program = glCreateProgram(); | ^~~~~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/font.cpp:49:40: error: 'font' was not declared in this scope; did you mean 'Font'? 49 | auto pFont::free(PangoFontDescription* font) -> void { | ^~~~ | Font ../hiro/core/../gtk/font.cpp:49:46: error: expected ',' or ';' before '->' token 49 | auto pFont::free(PangoFontDescription* font) -> void { | ^~ ../hiro/core/../gtk/font.cpp:53:6: error: 'auto hiro::pFont::setFont' is not a static data member of 'struct hiro::pFont' 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^~~~~ ../hiro/core/../gtk/font.cpp:53:21: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^~~~~~~~~ | wWidget ../ruby/video/opengl/program.hpp:15:25: error: 'framebuffer' was not declared in this scope 15 | glGenFramebuffers(1, &framebuffer); | ^~~~~~~~~~~ ../hiro/core/../gtk/font.cpp:53:32: error: 'widget' was not declared in this scope; did you mean 'Widget'? 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/font.cpp:53:40: error: expected primary-expression before 'const' 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^~~~~ ../hiro/core/../gtk/font.cpp:53:56: error: expression list treated as compound expression in initializer [-fpermissive] 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^ ../hiro/core/../gtk/font.cpp:53:58: error: expected ',' or ';' before '->' token 53 | auto pFont::setFont(GtkWidget* widget, const Font& font) -> void { | ^~ ../hiro/core/../gtk/font.cpp:59:6: error: 'auto hiro::pFont::setFont' is not a static data member of 'struct hiro::pFont' 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^~~~~ ../hiro/core/../gtk/font.cpp:59:21: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/font.cpp:59:32: error: 'widget' was not declared in this scope; did you mean 'Widget'? 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^~~~~~ | Widget ../ruby/video/opengl/program.hpp:15:3: error: 'glGenFramebuffers' was not declared in this scope 15 | glGenFramebuffers(1, &framebuffer); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/font.cpp:59:40: error: 'gpointer' was not declared in this scope 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^~~~~~~~ ../hiro/core/../gtk/font.cpp:59:53: error: expression list treated as compound expression in initializer [-fpermissive] 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^ ../hiro/core/../gtk/font.cpp:59:55: error: expected ',' or ';' before '->' token 59 | auto pFont::setFont(GtkWidget* widget, gpointer font) -> void { | ^~ ../ruby/video/opengl/program.hpp:20:5: error: 'vertex' was not declared in this scope 20 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, source); | ^~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:5: ../hiro/core/../gtk/desktop.cpp: In static member function 'static hiro::Size hiro::pDesktop::size()': ../hiro/core/../gtk/desktop.cpp:7:26: error: 'gdk_screen_get_default' was not declared in this scope 7 | gdk_screen_get_width(gdk_screen_get_default()), | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:20:39: error: 'GL_VERTEX_SHADER' was not declared in this scope 20 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, source); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/desktop.cpp:7:5: error: 'gdk_screen_get_width' was not declared in this scope 7 | gdk_screen_get_width(gdk_screen_get_default()), | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:22:5: error: 'vertex' was not declared in this scope 22 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, OpenGLVertexShader); | ^~~~~~ ../hiro/core/../gtk/desktop.cpp:8:5: error: 'gdk_screen_get_height' was not declared in this scope 8 | gdk_screen_get_height(gdk_screen_get_default()) | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/desktop.cpp:9:3: error: could not convert '{<expression error>, <expression error>}' from '<brace-enclosed initializer list>' to 'hiro::Size' 9 | }; | ^ | | | <brace-enclosed initializer list> ../ruby/video/opengl/program.hpp:22:39: error: 'GL_VERTEX_SHADER' was not declared in this scope 22 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, OpenGLVertexShader); | ^~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:6: ../hiro/core/../gtk/monitor.cpp: In static member function 'static uint hiro::pMonitor::count()': ../hiro/core/../gtk/monitor.cpp:10:36: error: 'gdk_screen_get_default' was not declared in this scope 10 | return gdk_screen_get_n_monitors(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:28:5: error: 'geometry' was not declared in this scope 28 | geometry = glrCreateShader(program, GL_GEOMETRY_SHADER, source); | ^~~~~~~~ ../hiro/core/../gtk/monitor.cpp:10:10: error: 'gdk_screen_get_n_monitors' was not declared in this scope 10 | return gdk_screen_get_n_monitors(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp: In static member function 'static hiro::Position hiro::pMonitor::dpi(uint)': ../hiro/core/../gtk/monitor.cpp:19:47: error: 'gdk_screen_get_default' was not declared in this scope 19 | float dpi = round(gdk_screen_get_resolution(gdk_screen_get_default())); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:28:41: error: 'GL_GEOMETRY_SHADER' was not declared in this scope 28 | geometry = glrCreateShader(program, GL_GEOMETRY_SHADER, source); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp:19:21: error: 'gdk_screen_get_resolution' was not declared in this scope 19 | float dpi = round(gdk_screen_get_resolution(gdk_screen_get_default())); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp: In static member function 'static hiro::Geometry hiro::pMonitor::geometry(uint)': ../hiro/core/../gtk/monitor.cpp:31:3: error: 'GdkRectangle' was not declared in this scope 31 | GdkRectangle rectangle = {}; | ^~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:37:5: error: 'fragment' was not declared in this scope 37 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, source); | ^~~~~~~~ ../hiro/core/../gtk/monitor.cpp:33:35: error: 'gdk_screen_get_default' was not declared in this scope 33 | gdk_screen_get_monitor_geometry(gdk_screen_get_default(), monitor, &rectangle); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp:33:71: error: 'rectangle' was not declared in this scope 33 | gdk_screen_get_monitor_geometry(gdk_screen_get_default(), monitor, &rectangle); | ^~~~~~~~~ ../ruby/video/opengl/program.hpp:37:41: error: 'GL_FRAGMENT_SHADER' was not declared in this scope 37 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, source); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:39:5: error: 'fragment' was not declared in this scope 39 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, OpenGLFragmentShader); | ^~~~~~~~ ../hiro/core/../gtk/monitor.cpp:33:3: error: 'gdk_screen_get_monitor_geometry' was not declared in this scope 33 | gdk_screen_get_monitor_geometry(gdk_screen_get_default(), monitor, &rectangle); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp:38:70: error: could not convert '{<expression error>, <expression error>, <expression error>, <expression error>}' from '<brace-enclosed initializer list>' to 'hiro::Geometry' 38 | return {rectangle.x, rectangle.y, rectangle.width, rectangle.height}; | ^ | | | <brace-enclosed initializer list> ../hiro/core/../gtk/monitor.cpp: In static member function 'static uint hiro::pMonitor::primary()': ../hiro/core/../gtk/monitor.cpp:43:41: error: 'gdk_screen_get_default' was not declared in this scope 43 | return gdk_screen_get_primary_monitor(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:39:41: error: 'GL_FRAGMENT_SHADER' was not declared in this scope 39 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, OpenGLFragmentShader); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/monitor.cpp:43:10: error: 'gdk_screen_get_primary_monitor' was not declared in this scope 43 | return gdk_screen_get_primary_monitor(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:47:5: error: 'GLuint' was not declared in this scope; did you mean 'uint'? 47 | GLuint texture; | ^~~~~~ | uint In file included from ../hiro/core/../gtk/platform.cpp:7: ../hiro/core/../gtk/keyboard.cpp: In static member function 'static int hiro::pKeyboard::_translate(unsigned int)': ../hiro/core/../gtk/keyboard.cpp:46:8: error: 'GDK_KEY_Escape' was not declared in this scope 46 | case GDK_KEY_Escape: return 0; | ^~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:48:23: error: 'texture' was not declared in this scope 48 | glGenTextures(1, &texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:47:8: error: 'GDK_KEY_F1' was not declared in this scope 47 | case GDK_KEY_F1: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:48:8: error: 'GDK_KEY_F2' was not declared in this scope 48 | case GDK_KEY_F2: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:49:8: error: 'GDK_KEY_F3' was not declared in this scope 49 | case GDK_KEY_F3: return 0; | ^~~~~~~~~~ ../ruby/video/opengl/program.hpp:48:5: error: 'glGenTextures' was not declared in this scope 48 | glGenTextures(1, &texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:51:16: error: 'struct OpenGLTexture' has no member named 'texture' 51 | pixmaps(n).texture = texture; | ^~~~~~~ ../ruby/video/opengl/program.hpp:54:16: error: 'struct OpenGLTexture' has no member named 'format' 54 | pixmaps(n).format = format; | ^~~~~~ ../ruby/video/opengl/program.hpp:55:16: error: 'struct OpenGLTexture' has no member named 'filter' 55 | pixmaps(n).filter = filter; | ^~~~~~ ../ruby/video/opengl/program.hpp:56:16: error: 'struct OpenGLTexture' has no member named 'wrap' 56 | pixmaps(n).wrap = wrap; | ^~~~ ../ruby/video/opengl/program.hpp:57:35: error: 'struct OpenGLTexture' has no member named 'format' 57 | if(leaf["format"]) pixmaps(n).format = glrFormat(leaf["format"].text()); | ^~~~~~ ../ruby/video/opengl/program.hpp:58:35: error: 'struct OpenGLTexture' has no member named 'filter' 58 | if(leaf["filter"]) pixmaps(n).filter = glrFilter(leaf["filter"].text()); | ^~~~~~ ../ruby/video/opengl/program.hpp:59:33: error: 'struct OpenGLTexture' has no member named 'wrap' 59 | if(leaf["wrap"]) pixmaps(n).wrap = glrWrap(leaf["wrap"].text()); | ^~~~ ../hiro/core/../gtk/keyboard.cpp:50:8: error: 'GDK_KEY_F4' was not declared in this scope 50 | case GDK_KEY_F4: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:51:8: error: 'GDK_KEY_F5' was not declared in this scope 51 | case GDK_KEY_F5: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:52:8: error: 'GDK_KEY_F6' was not declared in this scope 52 | case GDK_KEY_F6: return 0; | ^~~~~~~~~~ ../ruby/video/opengl/program.hpp:63:19: error: 'GL_TEXTURE_2D' was not declared in this scope 63 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:53:8: error: 'GDK_KEY_F7' was not declared in this scope 53 | case GDK_KEY_F7: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:54:8: error: 'GDK_KEY_F8' was not declared in this scope 54 | case GDK_KEY_F8: return 0; | ^~~~~~~~~~ ../ruby/video/opengl/program.hpp:63:5: error: 'glBindTexture' was not declared in this scope 63 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:64:47: error: 'struct OpenGLTexture' has no member named 'format' 64 | glTexImage2D(GL_TEXTURE_2D, 0, pixmaps(n).format, w, h, 0, pixmaps(n).getFormat(), pixmaps(n).getType(), buffer); | ^~~~~~ ../ruby/video/opengl/program.hpp:64:75: error: 'struct OpenGLTexture' has no member named 'getFormat' 64 | glTexImage2D(GL_TEXTURE_2D, 0, pixmaps(n).format, w, h, 0, pixmaps(n).getFormat(), pixmaps(n).getType(), buffer); | ^~~~~~~~~ ../ruby/video/opengl/program.hpp:64:99: error: 'struct OpenGLTexture' has no member named 'getType' 64 | glTexImage2D(GL_TEXTURE_2D, 0, pixmaps(n).format, w, h, 0, pixmaps(n).getFormat(), pixmaps(n).getType(), buffer); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:55:8: error: 'GDK_KEY_F9' was not declared in this scope 55 | case GDK_KEY_F9: return 0; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:56:8: error: 'GDK_KEY_F10' was not declared in this scope 56 | case GDK_KEY_F10: return 0; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:57:8: error: 'GDK_KEY_F11' was not declared in this scope 57 | case GDK_KEY_F11: return 0; | ^~~~~~~~~~~ ../ruby/video/opengl/program.hpp:64:5: error: 'glTexImage2D' was not declared in this scope 64 | glTexImage2D(GL_TEXTURE_2D, 0, pixmaps(n).format, w, h, 0, pixmaps(n).getFormat(), pixmaps(n).getType(), buffer); | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:58:8: error: 'GDK_KEY_F12' was not declared in this scope 58 | case GDK_KEY_F12: return 0; | ^~~~~~~~~~~ ../ruby/video/opengl/program.hpp:65:76: error: 'getFormat' was not declared in this scope 65 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image.width(), image.height(), getFormat(), getType(), image.data()); | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:60:8: error: 'GDK_KEY_Print' was not declared in this scope 60 | case GDK_KEY_Print: return 0; | ^~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:65:89: error: 'getType' was not declared in this scope 65 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image.width(), image.height(), getFormat(), getType(), image.data()); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:61:8: error: 'GDK_KEY_Scroll_Lock' was not declared in this scope 61 | case GDK_KEY_Scroll_Lock: return 0; | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:65:5: error: 'glTexSubImage2D' was not declared in this scope 65 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, image.width(), image.height(), getFormat(), getType(), image.data()); | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp: In member function 'void OpenGLProgram::release()': ../ruby/video/opengl/program.hpp:94:59: error: 'struct OpenGLTexture' has no member named 'texture' 94 | for(auto& pixmap : pixmaps) glDeleteTextures(1, &pixmap.texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:62:8: error: 'GDK_KEY_Pause' was not declared in this scope 62 | case GDK_KEY_Pause: return 0; | ^~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:94:31: error: 'glDeleteTextures' was not declared in this scope 94 | for(auto& pixmap : pixmaps) glDeleteTextures(1, &pixmap.texture); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:64:8: error: 'GDK_KEY_Insert' was not declared in this scope 64 | case GDK_KEY_Insert: return 0; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:65:8: error: 'GDK_KEY_Delete' was not declared in this scope 65 | case GDK_KEY_Delete: return 0; | ^~~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:99:3: error: 'format' was not declared in this scope 99 | format = GL_RGBA8; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:66:8: error: 'GDK_KEY_Home' was not declared in this scope 66 | case GDK_KEY_Home: return 0; | ^~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:99:12: error: 'GL_RGBA8' was not declared in this scope 99 | format = GL_RGBA8; | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:67:8: error: 'GDK_KEY_End' was not declared in this scope 67 | case GDK_KEY_End: return 0; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:68:8: error: 'GDK_KEY_Prior' was not declared in this scope 68 | case GDK_KEY_Prior: return 0; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:69:8: error: 'GDK_KEY_Next' was not declared in this scope 69 | case GDK_KEY_Next: return 0; | ^~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:100:3: error: 'filter' was not declared in this scope 100 | filter = GL_LINEAR; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:71:8: error: 'GDK_KEY_Up' was not declared in this scope 71 | case GDK_KEY_Up: return 0; | ^~~~~~~~~~ ../ruby/video/opengl/program.hpp:100:12: error: 'GL_LINEAR' was not declared in this scope 100 | filter = GL_LINEAR; | ^~~~~~~~~ ../ruby/video/opengl/program.hpp:101:3: error: 'wrap' was not declared in this scope 101 | wrap = GL_CLAMP_TO_BORDER; | ^~~~ ../hiro/core/../gtk/keyboard.cpp:72:8: error: 'GDK_KEY_Down' was not declared in this scope 72 | case GDK_KEY_Down: return 0; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:73:8: error: 'GDK_KEY_Left' was not declared in this scope 73 | case GDK_KEY_Left: return 0; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:74:8: error: 'GDK_KEY_Right' was not declared in this scope 74 | case GDK_KEY_Right: return 0; | ^~~~~~~~~~~~~ ../ruby/video/opengl/program.hpp:101:10: error: 'GL_CLAMP_TO_BORDER' was not declared in this scope 101 | wrap = GL_CLAMP_TO_BORDER; | ^~~~~~~~~~~~~~~~~~ In file included from ../ruby/video/opengl/opengl.hpp:99: ../ruby/video/opengl/main.hpp: In member function 'void OpenGL::setShader(const nall::string&)': ../ruby/video/opengl/main.hpp:7:3: error: 'format' was not declared in this scope 7 | format = inputFormat; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:76:8: error: 'GDK_KEY_grave' was not declared in this scope 76 | case GDK_KEY_grave: return '`'; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:77:8: error: 'GDK_KEY_1' was not declared in this scope 77 | case GDK_KEY_1: return '1'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:7:12: error: 'inputFormat' was not declared in this scope 7 | format = inputFormat; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:78:8: error: 'GDK_KEY_2' was not declared in this scope 78 | case GDK_KEY_2: return '2'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:8:3: error: 'filter' was not declared in this scope 8 | filter = GL_LINEAR; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:79:8: error: 'GDK_KEY_3' was not declared in this scope 79 | case GDK_KEY_3: return '3'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:8:12: error: 'GL_LINEAR' was not declared in this scope 8 | filter = GL_LINEAR; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:9:3: error: 'wrap' was not declared in this scope 9 | wrap = GL_CLAMP_TO_BORDER; | ^~~~ ../hiro/core/../gtk/keyboard.cpp:80:8: error: 'GDK_KEY_4' was not declared in this scope 80 | case GDK_KEY_4: return '4'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:81:8: error: 'GDK_KEY_5' was not declared in this scope 81 | case GDK_KEY_5: return '5'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:9:10: error: 'GL_CLAMP_TO_BORDER' was not declared in this scope 9 | wrap = GL_CLAMP_TO_BORDER; | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:82:8: error: 'GDK_KEY_6' was not declared in this scope 82 | case GDK_KEY_6: return '6'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:15:14: error: 'GL_NEAREST' was not declared in this scope 15 | filter = GL_NEAREST; | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:83:8: error: 'GDK_KEY_7' was not declared in this scope 83 | case GDK_KEY_7: return '7'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:84:8: error: 'GDK_KEY_8' was not declared in this scope 84 | case GDK_KEY_8: return '8'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:27:44: error: 'glrFormat' was not declared in this scope 27 | if(node.name() == "format") format = glrFormat(node.text()); | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:28:44: error: 'glrFilter' was not declared in this scope 28 | if(node.name() == "filter") filter = glrFilter(node.text()); | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:85:8: error: 'GDK_KEY_9' was not declared in this scope 85 | case GDK_KEY_9: return '9'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:29:40: error: 'glrWrap' was not declared in this scope 29 | if(node.name() == "wrap") wrap = glrWrap(node.text()); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:86:8: error: 'GDK_KEY_0' was not declared in this scope 86 | case GDK_KEY_0: return '0'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:51:6: error: 'texture' was not declared in this scope 51 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:87:8: error: 'GDK_KEY_minus' was not declared in this scope 87 | case GDK_KEY_minus: return '-'; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:88:8: error: 'GDK_KEY_equal' was not declared in this scope 88 | case GDK_KEY_equal: return '='; | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:51:17: error: 'glDeleteTextures' was not declared in this scope 51 | if(texture) { glDeleteTextures(1, &texture); texture = 0; } | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:89:8: error: 'GDK_KEY_BackSpace' was not declared in this scope 89 | case GDK_KEY_BackSpace: return '\b'; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:52:21: error: 'texture' was not declared in this scope 52 | glGenTextures(1, &texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:91:8: error: 'GDK_KEY_asciitilde' was not declared in this scope 91 | case GDK_KEY_asciitilde: return '~'; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:52:3: error: 'glGenTextures' was not declared in this scope 52 | glGenTextures(1, &texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:92:8: error: 'GDK_KEY_exclam' was not declared in this scope 92 | case GDK_KEY_exclam: return '!'; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:93:8: error: 'GDK_KEY_at' was not declared in this scope 93 | case GDK_KEY_at: return '@'; | ^~~~~~~~~~ ../ruby/video/opengl/main.hpp:53:17: error: 'GL_TEXTURE_2D' was not declared in this scope 53 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:94:8: error: 'GDK_KEY_numbersign' was not declared in this scope 94 | case GDK_KEY_numbersign: return '#'; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:53:3: error: 'glBindTexture' was not declared in this scope 53 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:95:8: error: 'GDK_KEY_dollar' was not declared in this scope 95 | case GDK_KEY_dollar: return '$'; | ^~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:54:60: error: 'getFormat' was not declared in this scope 54 | glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, getFormat(), getType(), buffer); | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:96:8: error: 'GDK_KEY_percent' was not declared in this scope 96 | case GDK_KEY_percent: return '%'; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:54:73: error: 'getType' was not declared in this scope 54 | glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, getFormat(), getType(), buffer); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:97:8: error: 'GDK_KEY_asciicircum' was not declared in this scope 97 | case GDK_KEY_asciicircum: return '^'; | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:98:8: error: 'GDK_KEY_ampersand' was not declared in this scope 98 | case GDK_KEY_ampersand: return '&'; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:54:3: error: 'glTexImage2D' was not declared in this scope 54 | glTexImage2D(GL_TEXTURE_2D, 0, format, width, height, 0, getFormat(), getType(), buffer); | ^~~~~~~~~~~~ ../ruby/video/opengl/main.hpp: In member function 'void OpenGL::allocateHistory(uint)': ../ruby/video/opengl/main.hpp:59:57: error: 'struct OpenGLTexture' has no member named 'texture' 59 | for(auto& frame : history) glDeleteTextures(1, &frame.texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:99:8: error: 'GDK_KEY_asterisk' was not declared in this scope 99 | case GDK_KEY_asterisk: return '*'; | ^~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:59:30: error: 'glDeleteTextures' was not declared in this scope 59 | for(auto& frame : history) glDeleteTextures(1, &frame.texture); | ^~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:63:11: error: 'struct OpenGLTexture' has no member named 'filter' 63 | frame.filter = filter; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:100:8: error: 'GDK_KEY_parenleft' was not declared in this scope 100 | case GDK_KEY_parenleft: return '('; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:63:20: error: 'filter' was not declared in this scope 63 | frame.filter = filter; | ^~~~~~ ../ruby/video/opengl/main.hpp:64:11: error: 'struct OpenGLTexture' has no member named 'wrap' 64 | frame.wrap = wrap; | ^~~~ ../ruby/video/opengl/main.hpp:64:18: error: 'wrap' was not declared in this scope 64 | frame.wrap = wrap; | ^~~~ ../ruby/video/opengl/main.hpp:65:29: error: 'struct OpenGLTexture' has no member named 'texture' 65 | glGenTextures(1, &frame.texture); | ^~~~~~~ ../ruby/video/opengl/main.hpp:65:5: error: 'glGenTextures' was not declared in this scope 65 | glGenTextures(1, &frame.texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:101:8: error: 'GDK_KEY_parenright' was not declared in this scope 101 | case GDK_KEY_parenright: return ')'; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:66:19: error: 'GL_TEXTURE_2D' was not declared in this scope 66 | glBindTexture(GL_TEXTURE_2D, frame.texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:66:40: error: 'struct OpenGLTexture' has no member named 'texture' 66 | glBindTexture(GL_TEXTURE_2D, frame.texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:102:8: error: 'GDK_KEY_underscore' was not declared in this scope 102 | case GDK_KEY_underscore: return '_'; | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:103:8: error: 'GDK_KEY_plus' was not declared in this scope 103 | case GDK_KEY_plus: return '+'; | ^~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:66:5: error: 'glBindTexture' was not declared in this scope 66 | glBindTexture(GL_TEXTURE_2D, frame.texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:67:36: error: 'format' was not declared in this scope 67 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~ ../ruby/video/opengl/main.hpp:67:91: error: 'getFormat' was not declared in this scope 67 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:67:104: error: 'getType' was not declared in this scope 67 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~~ ../ruby/video/opengl/main.hpp:67:5: error: 'glTexImage2D' was not declared in this scope 67 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~~~~~~~ ../ruby/video/opengl/main.hpp: In member function 'void OpenGL::clear()': ../ruby/video/opengl/main.hpp:74:20: error: 'struct OpenGLProgram' has no member named 'program' 74 | glUseProgram(p.program); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:105:8: error: 'GDK_KEY_Tab' was not declared in this scope 105 | case GDK_KEY_Tab: return '\t'; | ^~~~~~~~~~~ ../ruby/video/opengl/main.hpp:74:5: error: 'glUseProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 74 | glUseProgram(p.program); | ^~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/keyboard.cpp:106:8: error: 'GDK_KEY_Caps_Lock' was not declared in this scope 106 | case GDK_KEY_Caps_Lock: return 0; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:107:8: error: 'GDK_KEY_Return' was not declared in this scope 107 | case GDK_KEY_Return: return '\n'; | ^~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:75:23: error: 'GL_DRAW_FRAMEBUFFER' was not declared in this scope 75 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:75:46: error: 'struct OpenGLProgram' has no member named 'framebuffer' 75 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:108:8: error: 'GDK_KEY_Shift_L' was not declared in this scope 108 | case GDK_KEY_Shift_L: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:75:5: error: 'glBindFramebuffer' was not declared in this scope 75 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:109:8: error: 'GDK_KEY_Shift_R' was not declared in this scope 109 | case GDK_KEY_Shift_R: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:76:5: error: 'glClearColor' was not declared in this scope 76 | glClearColor(0, 0, 0, 1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:110:8: error: 'GDK_KEY_Control_L' was not declared in this scope 110 | case GDK_KEY_Control_L: return 0; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:77:13: error: 'GL_COLOR_BUFFER_BIT' was not declared in this scope 77 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:111:8: error: 'GDK_KEY_Control_R' was not declared in this scope 111 | case GDK_KEY_Control_R: return 0; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:77:5: error: 'glClear' was not declared in this scope; did you mean 'GXclear'? 77 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~ | GXclear ../ruby/video/opengl/main.hpp:79:3: error: 'glUseProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 79 | glUseProgram(0); | ^~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/keyboard.cpp:112:8: error: 'GDK_KEY_Alt_L' was not declared in this scope 112 | case GDK_KEY_Alt_L: return 0; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:113:8: error: 'GDK_KEY_Alt_R' was not declared in this scope 113 | case GDK_KEY_Alt_R: return 0; | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:80:21: error: 'GL_DRAW_FRAMEBUFFER' was not declared in this scope 80 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:114:8: error: 'GDK_KEY_Super_L' was not declared in this scope 114 | case GDK_KEY_Super_L: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:80:3: error: 'glBindFramebuffer' was not declared in this scope 80 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:115:8: error: 'GDK_KEY_Super_R' was not declared in this scope 115 | case GDK_KEY_Super_R: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:81:3: error: 'glClearColor' was not declared in this scope 81 | glClearColor(0, 0, 0, 1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:116:8: error: 'GDK_KEY_Menu' was not declared in this scope 116 | case GDK_KEY_Menu: return 0; | ^~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:82:11: error: 'GL_COLOR_BUFFER_BIT' was not declared in this scope 82 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:82:3: error: 'glClear' was not declared in this scope; did you mean 'GXclear'? 82 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~ | GXclear ../hiro/core/../gtk/keyboard.cpp:117:8: error: 'GDK_KEY_space' was not declared in this scope 117 | case GDK_KEY_space: return ' '; | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp: In member function 'void OpenGL::output()': ../ruby/video/opengl/main.hpp:93:19: error: 'GL_TEXTURE0' was not declared in this scope 93 | glActiveTexture(GL_TEXTURE0); | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:119:8: error: 'GDK_KEY_bracketleft' was not declared in this scope 119 | case GDK_KEY_bracketleft: return '['; | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:93:3: error: 'glActiveTexture' was not declared in this scope 93 | glActiveTexture(GL_TEXTURE0); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:120:8: error: 'GDK_KEY_bracketright' was not declared in this scope 120 | case GDK_KEY_bracketright: return ']'; | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:94:17: error: 'GL_TEXTURE_2D' was not declared in this scope 94 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:94:32: error: 'texture' was not declared in this scope 94 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:121:8: error: 'GDK_KEY_backslash' was not declared in this scope 121 | case GDK_KEY_backslash: return '\\'; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:122:8: error: 'GDK_KEY_semicolon' was not declared in this scope 122 | case GDK_KEY_semicolon: return ';'; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:94:3: error: 'glBindTexture' was not declared in this scope 94 | glBindTexture(GL_TEXTURE_2D, texture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:123:8: error: 'GDK_KEY_apostrophe' was not declared in this scope 123 | case GDK_KEY_apostrophe: return '\''; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:95:58: error: 'getFormat' was not declared in this scope 95 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, getFormat(), getType(), buffer); | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:95:71: error: 'getType' was not declared in this scope 95 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, getFormat(), getType(), buffer); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:124:8: error: 'GDK_KEY_comma' was not declared in this scope 124 | case GDK_KEY_comma: return ','; | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:95:3: error: 'glTexSubImage2D' was not declared in this scope 95 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, width, height, getFormat(), getType(), buffer); | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:98:5: error: 'GLuint' does not name a type; did you mean 'uint'? 98 | GLuint texture; | ^~~~~~ | uint ../ruby/video/opengl/main.hpp:100:5: error: 'GLuint' does not name a type; did you mean 'uint'? 100 | GLuint filter, wrap; | ^~~~~~ | uint ../hiro/core/../gtk/keyboard.cpp:125:8: error: 'GDK_KEY_period' was not declared in this scope 125 | case GDK_KEY_period: return '.'; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:126:8: error: 'GDK_KEY_slash' was not declared in this scope 126 | case GDK_KEY_slash: return '/'; | ^~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:103:44: error: 'filter' was not declared in this scope 103 | sources.prepend({texture, width, height, filter, wrap}); | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:128:8: error: 'GDK_KEY_braceleft' was not declared in this scope 128 | case GDK_KEY_braceleft: return '{'; | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:103:52: error: 'wrap' was not declared in this scope 103 | sources.prepend({texture, width, height, filter, wrap}); | ^~~~ ../ruby/video/opengl/main.hpp:103:18: error: no matching function for call to 'nall::vector<OpenGL::output()::Source>::prepend(<brace-enclosed initializer list>)' 103 | sources.prepend({texture, width, height, filter, wrap}); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../nall/shared-pointer.hpp:6, from ../nall/string.hpp:19, from ../nall/inode.hpp:7, from ../nall/file-buffer.hpp:6: ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(const T&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:5:27: note: in expansion of macro 'vector' 5 | template<typename T> auto vector<T>::prepend(const T& value) -> void { | ^~~~~~ In file included from ../nall/vector.hpp:145: ../nall/vector/modify.hpp:5:55: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const OpenGL::output()::Source&' 5 | template<typename T> auto vector<T>::prepend(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(T&&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:12:27: note: in expansion of macro 'vector' 12 | template<typename T> auto vector<T>::prepend(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:12:50: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'OpenGL::output()::Source&&' 12 | template<typename T> auto vector<T>::prepend(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(const nall::vector_base<T>&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:19:27: note: in expansion of macro 'vector' 19 | template<typename T> auto vector<T>::prepend(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:19:63: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<OpenGL::output()::Source>&' 19 | template<typename T> auto vector<T>::prepend(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(nall::vector_base<T>&&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:27:27: note: in expansion of macro 'vector' 27 | template<typename T> auto vector<T>::prepend(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:27:58: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<OpenGL::output()::Source>&&' 27 | template<typename T> auto vector<T>::prepend(vector<T>&& values) -> void { ../ruby/video/opengl/main.hpp:112:20: error: 'struct OpenGLProgram' has no member named 'program' 112 | glUseProgram(p.program); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:129:8: error: 'GDK_KEY_braceright' was not declared in this scope 129 | case GDK_KEY_braceright: return '}'; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:112:5: error: 'glUseProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 112 | glUseProgram(p.program); | ^~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/keyboard.cpp:130:8: error: 'GDK_KEY_bar' was not declared in this scope 130 | case GDK_KEY_bar: return '|'; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:131:8: error: 'GDK_KEY_colon' was not declared in this scope 131 | case GDK_KEY_colon: return ':'; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:132:8: error: 'GDK_KEY_quotedbl' was not declared in this scope 132 | case GDK_KEY_quotedbl: return '\"'; | ^~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:113:23: error: 'GL_DRAW_FRAMEBUFFER' was not declared in this scope 113 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:113:46: error: 'struct OpenGLProgram' has no member named 'framebuffer' 113 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:133:8: error: 'GDK_KEY_less' was not declared in this scope 133 | case GDK_KEY_less: return '<'; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:134:8: error: 'GDK_KEY_greater' was not declared in this scope 134 | case GDK_KEY_greater: return '>'; | ^~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:113:5: error: 'glBindFramebuffer' was not declared in this scope 113 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, p.framebuffer); | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:127:42: error: 'struct OpenGLTexture' has no member named 'texture' 127 | glBindTexture(GL_TEXTURE_2D, frame.texture); | ^~~~~~~ ../ruby/video/opengl/main.hpp:128:27: error: 'struct OpenGLTexture' has no member named 'filter' 128 | glrParameters(frame.filter, frame.wrap); | ^~~~~~ ../ruby/video/opengl/main.hpp:128:41: error: 'struct OpenGLTexture' has no member named 'wrap' 128 | glrParameters(frame.filter, frame.wrap); | ^~~~ ../ruby/video/opengl/main.hpp:136:43: error: 'struct OpenGL::output()::Source' has no member named 'texture' 136 | glBindTexture(GL_TEXTURE_2D, source.texture); | ^~~~~~~ ../ruby/video/opengl/main.hpp:137:28: error: 'struct OpenGL::output()::Source' has no member named 'filter' 137 | glrParameters(source.filter, source.wrap); | ^~~~~~ ../ruby/video/opengl/main.hpp:137:43: error: 'struct OpenGL::output()::Source' has no member named 'wrap' 137 | glrParameters(source.filter, source.wrap); | ^~~~ ../ruby/video/opengl/main.hpp:145:43: error: 'struct OpenGLTexture' has no member named 'texture' 145 | glBindTexture(GL_TEXTURE_2D, pixmap.texture); | ^~~~~~~ ../ruby/video/opengl/main.hpp:146:28: error: 'struct OpenGLTexture' has no member named 'filter' 146 | glrParameters(pixmap.filter, pixmap.wrap); | ^~~~~~ ../ruby/video/opengl/main.hpp:146:43: error: 'struct OpenGLTexture' has no member named 'wrap' 146 | glrParameters(pixmap.filter, pixmap.wrap); | ^~~~ ../ruby/video/opengl/main.hpp:150:30: error: 'struct OpenGL::output()::Source' has no member named 'filter' 150 | glrParameters(sources[0].filter, sources[0].wrap); | ^~~~~~ ../ruby/video/opengl/main.hpp:150:49: error: 'struct OpenGL::output()::Source' has no member named 'wrap' 150 | glrParameters(sources[0].filter, sources[0].wrap); | ^~~~ ../ruby/video/opengl/main.hpp:152:36: error: 'struct OpenGLProgram' has no member named 'texture' 152 | glBindTexture(GL_TEXTURE_2D, p.texture); | ^~~~~~~ ../ruby/video/opengl/main.hpp:155:24: error: 'struct OpenGLProgram' has no member named 'texture' 155 | sources.prepend({p.texture, p.width, p.height, p.filter, p.wrap}); | ^~~~~~~ ../ruby/video/opengl/main.hpp:155:54: error: 'struct OpenGLProgram' has no member named 'filter' 155 | sources.prepend({p.texture, p.width, p.height, p.filter, p.wrap}); | ^~~~~~ ../ruby/video/opengl/main.hpp:155:64: error: 'struct OpenGLProgram' has no member named 'wrap' 155 | sources.prepend({p.texture, p.width, p.height, p.filter, p.wrap}); | ^~~~ ../ruby/video/opengl/main.hpp:155:20: error: no matching function for call to 'nall::vector<OpenGL::output()::Source>::prepend(<brace-enclosed initializer list>)' 155 | sources.prepend({p.texture, p.width, p.height, p.filter, p.wrap}); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(const T&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:5:27: note: in expansion of macro 'vector' 5 | template<typename T> auto vector<T>::prepend(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:5:55: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const OpenGL::output()::Source&' 5 | template<typename T> auto vector<T>::prepend(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(T&&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:12:27: note: in expansion of macro 'vector' 12 | template<typename T> auto vector<T>::prepend(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:12:50: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'OpenGL::output()::Source&&' 12 | template<typename T> auto vector<T>::prepend(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(const nall::vector_base<T>&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:19:27: note: in expansion of macro 'vector' 19 | template<typename T> auto vector<T>::prepend(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:19:63: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<OpenGL::output()::Source>&' 19 | template<typename T> auto vector<T>::prepend(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::prepend(nall::vector_base<T>&&) [with T = OpenGL::output()::Source]' 139 | #define vector vector_base ../nall/vector/modify.hpp:27:27: note: in expansion of macro 'vector' 27 | template<typename T> auto vector<T>::prepend(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:27:58: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<OpenGL::output()::Source>&&' 27 | template<typename T> auto vector<T>::prepend(vector<T>&& values) -> void { ../hiro/core/../gtk/keyboard.cpp:135:8: error: 'GDK_KEY_question' was not declared in this scope 135 | case GDK_KEY_question: return '?'; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:137:8: error: 'GDK_KEY_A' was not declared in this scope 137 | case GDK_KEY_A: return 'A'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:163:16: error: 'program' was not declared in this scope; did you mean 'programs'? 163 | glUseProgram(program); | ^~~~~~~ | programs ../hiro/core/../gtk/keyboard.cpp:138:8: error: 'GDK_KEY_B' was not declared in this scope 138 | case GDK_KEY_B: return 'B'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:139:8: error: 'GDK_KEY_C' was not declared in this scope 139 | case GDK_KEY_C: return 'C'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:163:3: error: 'glUseProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 163 | glUseProgram(program); | ^~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/keyboard.cpp:140:8: error: 'GDK_KEY_D' was not declared in this scope 140 | case GDK_KEY_D: return 'D'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:141:8: error: 'GDK_KEY_E' was not declared in this scope 141 | case GDK_KEY_E: return 'E'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:142:8: error: 'GDK_KEY_F' was not declared in this scope 142 | case GDK_KEY_F: return 'F'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:143:8: error: 'GDK_KEY_G' was not declared in this scope 143 | case GDK_KEY_G: return 'G'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:144:8: error: 'GDK_KEY_H' was not declared in this scope 144 | case GDK_KEY_H: return 'H'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:145:8: error: 'GDK_KEY_I' was not declared in this scope 145 | case GDK_KEY_I: return 'I'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:164:21: error: 'GL_DRAW_FRAMEBUFFER' was not declared in this scope 164 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:146:8: error: 'GDK_KEY_J' was not declared in this scope 146 | case GDK_KEY_J: return 'J'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:147:8: error: 'GDK_KEY_K' was not declared in this scope 147 | case GDK_KEY_K: return 'K'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:148:8: error: 'GDK_KEY_L' was not declared in this scope 148 | case GDK_KEY_L: return 'L'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:149:8: error: 'GDK_KEY_M' was not declared in this scope 149 | case GDK_KEY_M: return 'M'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:164:3: error: 'glBindFramebuffer' was not declared in this scope 164 | glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); | ^~~~~~~~~~~~~~~~~ ../ruby/video/opengl/main.hpp:170:28: error: 'struct OpenGL::output()::Source' has no member named 'filter' 170 | glrParameters(sources[0].filter, sources[0].wrap); | ^~~~~~ ../ruby/video/opengl/main.hpp:170:47: error: 'struct OpenGL::output()::Source' has no member named 'wrap' 170 | glrParameters(sources[0].filter, sources[0].wrap); | ^~~~ ../hiro/core/../gtk/keyboard.cpp:150:8: error: 'GDK_KEY_N' was not declared in this scope 150 | case GDK_KEY_N: return 'N'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:176:40: error: 'struct OpenGLTexture' has no member named 'texture' 176 | glBindTexture(GL_TEXTURE_2D, frame.texture); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:151:8: error: 'GDK_KEY_O' was not declared in this scope 151 | case GDK_KEY_O: return 'O'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:180:38: error: 'format' was not declared in this scope 180 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:152:8: error: 'GDK_KEY_P' was not declared in this scope 152 | case GDK_KEY_P: return 'P'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:153:8: error: 'GDK_KEY_Q' was not declared in this scope 153 | case GDK_KEY_Q: return 'Q'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:180:7: error: 'glTexImage2D' was not declared in this scope 180 | glTexImage2D(GL_TEXTURE_2D, 0, format, frame.width = width, frame.height = height, 0, getFormat(), getType(), buffer); | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:154:8: error: 'GDK_KEY_R' was not declared in this scope 154 | case GDK_KEY_R: return 'R'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp: In member function 'bool OpenGL::initialize(const nall::string&)': ../ruby/video/opengl/main.hpp:190:13: error: 'GL_BLEND' was not declared in this scope 190 | glDisable(GL_BLEND); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:155:8: error: 'GDK_KEY_S' was not declared in this scope 155 | case GDK_KEY_S: return 'S'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:190:3: error: 'glDisable' was not declared in this scope 190 | glDisable(GL_BLEND); | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:156:8: error: 'GDK_KEY_T' was not declared in this scope 156 | case GDK_KEY_T: return 'T'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:157:8: error: 'GDK_KEY_U' was not declared in this scope 157 | case GDK_KEY_U: return 'U'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:191:13: error: 'GL_DEPTH_TEST' was not declared in this scope 191 | glDisable(GL_DEPTH_TEST); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:158:8: error: 'GDK_KEY_V' was not declared in this scope 158 | case GDK_KEY_V: return 'V'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:159:8: error: 'GDK_KEY_W' was not declared in this scope 159 | case GDK_KEY_W: return 'W'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:192:13: error: 'GL_POLYGON_SMOOTH' was not declared in this scope 192 | glDisable(GL_POLYGON_SMOOTH); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:160:8: error: 'GDK_KEY_X' was not declared in this scope 160 | case GDK_KEY_X: return 'X'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:161:8: error: 'GDK_KEY_Y' was not declared in this scope 161 | case GDK_KEY_Y: return 'Y'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:162:8: error: 'GDK_KEY_Z' was not declared in this scope 162 | case GDK_KEY_Z: return 'Z'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:164:8: error: 'GDK_KEY_a' was not declared in this scope 164 | case GDK_KEY_a: return 'a'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:193:13: error: 'GL_STENCIL_TEST' was not declared in this scope 193 | glDisable(GL_STENCIL_TEST); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:165:8: error: 'GDK_KEY_b' was not declared in this scope 165 | case GDK_KEY_b: return 'b'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:194:12: error: 'GL_DITHER' was not declared in this scope 194 | glEnable(GL_DITHER); | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:166:8: error: 'GDK_KEY_c' was not declared in this scope 166 | case GDK_KEY_c: return 'c'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:194:3: error: 'glEnable' was not declared in this scope 194 | glEnable(GL_DITHER); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:167:8: error: 'GDK_KEY_d' was not declared in this scope 167 | case GDK_KEY_d: return 'd'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:196:3: error: 'program' was not declared in this scope; did you mean 'programs'? 196 | program = glCreateProgram(); | ^~~~~~~ | programs ../hiro/core/../gtk/keyboard.cpp:168:8: error: 'GDK_KEY_e' was not declared in this scope 168 | case GDK_KEY_e: return 'e'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:169:8: error: 'GDK_KEY_f' was not declared in this scope 169 | case GDK_KEY_f: return 'f'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:196:13: error: 'glCreateProgram' was not declared in this scope; did you mean 'glrLinkProgram'? 196 | program = glCreateProgram(); | ^~~~~~~~~~~~~~~ | glrLinkProgram ../hiro/core/../gtk/keyboard.cpp:170:8: error: 'GDK_KEY_g' was not declared in this scope 170 | case GDK_KEY_g: return 'g'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:197:3: error: 'vertex' was not declared in this scope 197 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, OpenGLOutputVertexShader); | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:171:8: error: 'GDK_KEY_h' was not declared in this scope 171 | case GDK_KEY_h: return 'h'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:172:8: error: 'GDK_KEY_i' was not declared in this scope 172 | case GDK_KEY_i: return 'i'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:197:37: error: 'GL_VERTEX_SHADER' was not declared in this scope 197 | vertex = glrCreateShader(program, GL_VERTEX_SHADER, OpenGLOutputVertexShader); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:173:8: error: 'GDK_KEY_j' was not declared in this scope 173 | case GDK_KEY_j: return 'j'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:174:8: error: 'GDK_KEY_k' was not declared in this scope 174 | case GDK_KEY_k: return 'k'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:199:3: error: 'fragment' was not declared in this scope 199 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, OpenGLFragmentShader); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:175:8: error: 'GDK_KEY_l' was not declared in this scope 175 | case GDK_KEY_l: return 'l'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:176:8: error: 'GDK_KEY_m' was not declared in this scope 176 | case GDK_KEY_m: return 'm'; | ^~~~~~~~~ ../ruby/video/opengl/main.hpp:199:39: error: 'GL_FRAGMENT_SHADER' was not declared in this scope 199 | fragment = glrCreateShader(program, GL_FRAGMENT_SHADER, OpenGLFragmentShader); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:177:8: error: 'GDK_KEY_n' was not declared in this scope 177 | case GDK_KEY_n: return 'n'; | ^~~~~~~~~ ../ruby/video/glx.cpp: At global scope: ../ruby/video/glx.cpp:6:31: error: 'Display' was not declared in this scope 6 | auto VideoGLX_X11ErrorHandler(Display*, XErrorEvent*) -> int { | ^~~~~~~ ../ruby/video/glx.cpp:6:39: error: expected primary-expression before ',' token 6 | auto VideoGLX_X11ErrorHandler(Display*, XErrorEvent*) -> int { | ^ ../hiro/core/../gtk/keyboard.cpp:178:8: error: 'GDK_KEY_o' was not declared in this scope 178 | case GDK_KEY_o: return 'o'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:179:8: error: 'GDK_KEY_p' was not declared in this scope 179 | case GDK_KEY_p: return 'p'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:180:8: error: 'GDK_KEY_q' was not declared in this scope 180 | case GDK_KEY_q: return 'q'; | ^~~~~~~~~ ../ruby/video/glx.cpp:6:41: error: 'XErrorEvent' was not declared in this scope 6 | auto VideoGLX_X11ErrorHandler(Display*, XErrorEvent*) -> int { | ^~~~~~~~~~~ ../ruby/video/glx.cpp:6:53: error: expected primary-expression before ')' token 6 | auto VideoGLX_X11ErrorHandler(Display*, XErrorEvent*) -> int { | ^ ../ruby/video/glx.cpp:6:53: error: expression list treated as compound expression in initializer [-fpermissive] ../ruby/video/glx.cpp:6:55: error: expected ',' or ';' before '->' token 6 | auto VideoGLX_X11ErrorHandler(Display*, XErrorEvent*) -> int { | ^~ ../hiro/core/../gtk/keyboard.cpp:181:8: error: 'GDK_KEY_r' was not declared in this scope 181 | case GDK_KEY_r: return 'r'; | ^~~~~~~~~ ../ruby/video/glx.cpp:293:3: error: 'Display' does not name a type 293 | Display* _display = nullptr; | ^~~~~~~ ../ruby/video/glx.cpp:300:3: error: 'Window' does not name a type 300 | Window _parent = 0; | ^~~~~~ ../ruby/video/glx.cpp:301:3: error: 'Window' does not name a type 301 | Window _window = 0; | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:182:8: error: 'GDK_KEY_s' was not declared in this scope 182 | case GDK_KEY_s: return 's'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:183:8: error: 'GDK_KEY_t' was not declared in this scope 183 | case GDK_KEY_t: return 't'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:184:8: error: 'GDK_KEY_u' was not declared in this scope 184 | case GDK_KEY_u: return 'u'; | ^~~~~~~~~ ../ruby/video/glx.cpp:302:3: error: 'Colormap' does not name a type; did you mean 'CWColormap'? 302 | Colormap _colormap = 0; | ^~~~~~~~ | CWColormap ../ruby/video/glx.cpp:303:3: error: 'GLXContext' does not name a type; did you mean 'ucontext'? 303 | GLXContext _glXContext = nullptr; | ^~~~~~~~~~ | ucontext ../ruby/video/glx.cpp:304:3: error: 'GLXWindow' does not name a type; did you mean 'BadWindow'? 304 | GLXWindow _glXWindow = 0; | ^~~~~~~~~ | BadWindow ../hiro/core/../gtk/keyboard.cpp:185:8: error: 'GDK_KEY_v' was not declared in this scope 185 | case GDK_KEY_v: return 'v'; | ^~~~~~~~~ ../ruby/video/glx.cpp: In member function 'virtual bool VideoGLX::setFormat(nall::string)': ../ruby/video/glx.cpp:60:15: error: 'inputFormat' is not a member of 'OpenGL' 60 | OpenGL::inputFormat = GL_RGBA8; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:186:8: error: 'GDK_KEY_w' was not declared in this scope 186 | case GDK_KEY_w: return 'w'; | ^~~~~~~~~ ../ruby/video/glx.cpp:60:29: error: 'GL_RGBA8' was not declared in this scope 60 | OpenGL::inputFormat = GL_RGBA8; | ^~~~~~~~ ../ruby/video/glx.cpp:65:15: error: 'inputFormat' is not a member of 'OpenGL' 65 | OpenGL::inputFormat = GL_RGB10_A2; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:187:8: error: 'GDK_KEY_x' was not declared in this scope 187 | case GDK_KEY_x: return 'x'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:188:8: error: 'GDK_KEY_y' was not declared in this scope 188 | case GDK_KEY_y: return 'y'; | ^~~~~~~~~ ../ruby/video/glx.cpp:65:29: error: 'GL_RGB10_A2' was not declared in this scope 65 | OpenGL::inputFormat = GL_RGB10_A2; | ^~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:189:8: error: 'GDK_KEY_z' was not declared in this scope 189 | case GDK_KEY_z: return 'z'; | ^~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:191:8: error: 'GDK_KEY_Num_Lock' was not declared in this scope 191 | case GDK_KEY_Num_Lock: return 0; | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'virtual void VideoGLX::clear()': ../ruby/video/glx.cpp:83:38: error: '_display' was not declared in this scope 83 | if(_doubleBuffer) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:192:8: error: 'GDK_KEY_KP_Divide' was not declared in this scope 192 | case GDK_KEY_KP_Divide: return '/'; | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:83:48: error: '_glXWindow' was not declared in this scope 83 | if(_doubleBuffer) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:193:8: error: 'GDK_KEY_KP_Multiply' was not declared in this scope 193 | case GDK_KEY_KP_Multiply: return '*'; | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:194:8: error: 'GDK_KEY_KP_Subtract' was not declared in this scope 194 | case GDK_KEY_KP_Subtract: return '-'; | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:83:23: error: 'glXSwapBuffers' was not declared in this scope 83 | if(_doubleBuffer) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:195:8: error: 'GDK_KEY_KP_Add' was not declared in this scope 195 | case GDK_KEY_KP_Add: return '+'; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:196:8: error: 'GDK_KEY_KP_Enter' was not declared in this scope 196 | case GDK_KEY_KP_Enter: return '\n'; | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'virtual void VideoGLX::size(uint&, uint&)': ../ruby/video/glx.cpp:91:7: error: 'XWindowAttributes' was not declared in this scope 91 | XWindowAttributes parent; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:197:8: error: 'GDK_KEY_KP_Decimal' was not declared in this scope 197 | case GDK_KEY_KP_Decimal: return '.'; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:92:28: error: '_display' was not declared in this scope 92 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:199:8: error: 'GDK_KEY_KP_1' was not declared in this scope 199 | case GDK_KEY_KP_1: return '1'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:92:38: error: '_parent' was not declared in this scope 92 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:200:8: error: 'GDK_KEY_KP_2' was not declared in this scope 200 | case GDK_KEY_KP_2: return '2'; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:201:8: error: 'GDK_KEY_KP_3' was not declared in this scope 201 | case GDK_KEY_KP_3: return '3'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:92:48: error: 'parent' was not declared in this scope; did you mean 'dirent'? 92 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../hiro/core/../gtk/keyboard.cpp:202:8: error: 'GDK_KEY_KP_4' was not declared in this scope 202 | case GDK_KEY_KP_4: return '4'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:92:7: error: 'XGetWindowAttributes' was not declared in this scope 92 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:203:8: error: 'GDK_KEY_KP_5' was not declared in this scope 203 | case GDK_KEY_KP_5: return '5'; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:204:8: error: 'GDK_KEY_KP_6' was not declared in this scope 204 | case GDK_KEY_KP_6: return '6'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'virtual void VideoGLX::output(uint, uint)': ../ruby/video/glx.cpp:107:5: error: 'XWindowAttributes' was not declared in this scope 107 | XWindowAttributes window; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:205:8: error: 'GDK_KEY_KP_7' was not declared in this scope 205 | case GDK_KEY_KP_7: return '7'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:108:26: error: '_display' was not declared in this scope 108 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:206:8: error: 'GDK_KEY_KP_8' was not declared in this scope 206 | case GDK_KEY_KP_8: return '8'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:108:36: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 108 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~ | BadWindow ../hiro/core/../gtk/keyboard.cpp:207:8: error: 'GDK_KEY_KP_9' was not declared in this scope 207 | case GDK_KEY_KP_9: return '9'; | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:108:46: error: 'window' was not declared in this scope 108 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~ ../hiro/core/../gtk/keyboard.cpp:208:8: error: 'GDK_KEY_KP_0' was not declared in this scope 208 | case GDK_KEY_KP_0: return '0'; | ^~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:210:8: error: 'GDK_KEY_KP_Home' was not declared in this scope 210 | case GDK_KEY_KP_Home: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:108:5: error: 'XGetWindowAttributes' was not declared in this scope 108 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:110:23: error: expected ';' before 'parent' 110 | XWindowAttributes parent; | ^~~~~~ ../ruby/video/glx.cpp:111:36: error: '_parent' was not declared in this scope 111 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../hiro/core/../gtk/keyboard.cpp:211:8: error: 'GDK_KEY_KP_End' was not declared in this scope 211 | case GDK_KEY_KP_End: return 0; | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:111:46: error: 'parent' was not declared in this scope; did you mean 'dirent'? 111 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../hiro/core/../gtk/keyboard.cpp:212:8: error: 'GDK_KEY_KP_Page_Up' was not declared in this scope 212 | case GDK_KEY_KP_Page_Up: return 0; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:114:7: error: 'XResizeWindow' was not declared in this scope 114 | XResizeWindow(_display, _window, parent.width, parent.height); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:213:8: error: 'GDK_KEY_KP_Page_Down' was not declared in this scope 213 | case GDK_KEY_KP_Page_Down: return 0; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:214:8: error: 'GDK_KEY_KP_Up' was not declared in this scope 214 | case GDK_KEY_KP_Up: return 0; | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:129:48: error: '_glXWindow' was not declared in this scope 129 | if(_doubleBuffer) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:215:8: error: 'GDK_KEY_KP_Down' was not declared in this scope 215 | case GDK_KEY_KP_Down: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:129:23: error: 'glXSwapBuffers' was not declared in this scope 129 | if(_doubleBuffer) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:216:8: error: 'GDK_KEY_KP_Left' was not declared in this scope 216 | case GDK_KEY_KP_Left: return 0; | ^~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:130:20: error: 'glFinish' was not declared in this scope 130 | if(self.flush) glFinish(); | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:217:8: error: 'GDK_KEY_KP_Right' was not declared in this scope 217 | case GDK_KEY_KP_Right: return 0; | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'virtual void VideoGLX::poll()': ../ruby/video/glx.cpp:134:20: error: '_display' was not declared in this scope 134 | while(XPending(_display)) { | ^~~~~~~~ ../hiro/core/../gtk/keyboard.cpp:218:8: error: 'GDK_KEY_KP_Begin' was not declared in this scope 218 | case GDK_KEY_KP_Begin: return 0; | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:134:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 134 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/keyboard.cpp:219:8: error: 'GDK_KEY_KP_Insert' was not declared in this scope 219 | case GDK_KEY_KP_Insert: return 0; | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:135:7: error: 'XEvent' was not declared in this scope 135 | XEvent event; | ^~~~~~ ../ruby/video/glx.cpp:136:29: error: 'event' was not declared in this scope; did you mean 'servent'? 136 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/keyboard.cpp:220:8: error: 'GDK_KEY_KP_Delete' was not declared in this scope 220 | case GDK_KEY_KP_Delete: return 0; | ^~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:8: ../hiro/core/../gtk/mouse.cpp: In static member function 'static hiro::Position hiro::pMouse::position()': ../hiro/core/../gtk/mouse.cpp:19:1: warning: no return statement in function returning non-void [-Wreturn-type] 19 | } | ^ ../ruby/video/glx.cpp:136:7: error: 'XNextEvent' was not declared in this scope 136 | XNextEvent(_display, &event); | ^~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:9: ../hiro/core/../gtk/browser-window.cpp: At global scope: ../hiro/core/../gtk/browser-window.cpp:5:38: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto BrowserWindow_addFilters(GtkWidget* dialog, vector<string> filters) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/browser-window.cpp:5:49: error: 'dialog' was not declared in this scope 5 | static auto BrowserWindow_addFilters(GtkWidget* dialog, vector<string> filters) -> void { | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:5:72: error: expected primary-expression before 'filters' 5 | static auto BrowserWindow_addFilters(GtkWidget* dialog, vector<string> filters) -> void { | ^~~~~~~ ../hiro/core/../gtk/browser-window.cpp:5:79: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto BrowserWindow_addFilters(GtkWidget* dialog, vector<string> filters) -> void { | ^ ../hiro/core/../gtk/browser-window.cpp:5:81: error: expected ',' or ';' before '->' token 5 | static auto BrowserWindow_addFilters(GtkWidget* dialog, vector<string> filters) -> void { | ^~ ../ruby/video/glx.cpp:137:24: error: 'Expose' was not declared in this scope 137 | if(event.type == Expose) { | ^~~~~~ ../ruby/video/glx.cpp:137:24: note: the macro 'Expose' had not yet been defined In file included from /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xv.h:46, from ../ruby/video/xvideo.cpp:4, from ../ruby/video/video.cpp:34: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:191: note: it was later defined here 191 | #define Expose 12 | ../hiro/core/../gtk/browser-window.cpp: In static member function 'static nall::string hiro::pBrowserWindow::directory(hiro::BrowserWindow::State&)': ../hiro/core/../gtk/browser-window.cpp:21:3: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 21 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/browser-window.cpp:21:14: error: 'dialog' was not declared in this scope 21 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:23:77: error: 'struct hiro::pWindow' has no member named 'widget' 23 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~ ../ruby/video/glx.cpp:138:9: error: 'XWindowAttributes' was not declared in this scope 138 | XWindowAttributes attributes; | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:139:40: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 139 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~ | BadWindow ../hiro/core/../gtk/browser-window.cpp:23:44: error: 'GTK_WINDOW' was not declared in this scope 23 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:23:88: error: 'GtkWindow' was not declared in this scope; did you mean 'wWindow'? 23 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~ | wWindow ../hiro/core/../gtk/browser-window.cpp:23:98: error: expected primary-expression before ')' token 23 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^ ../ruby/video/glx.cpp:139:50: error: 'attributes' was not declared in this scope 139 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:24:5: error: 'GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER' was not declared in this scope 24 | GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:139:9: error: 'XGetWindowAttributes' was not declared in this scope 139 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:25:5: error: 'GTK_STOCK_CANCEL' was not declared in this scope 25 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'void VideoGLX::construct()': ../ruby/video/glx.cpp:147:5: error: '_display' was not declared in this scope 147 | _display = XOpenDisplay(nullptr); | ^~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:25:23: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope 25 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:147:16: error: 'XOpenDisplay' was not declared in this scope 147 | _display = XOpenDisplay(nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:26:5: error: 'GTK_STOCK_OPEN' was not declared in this scope 26 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:148:15: error: 'DefaultScreen' was not declared in this scope 148 | _screen = DefaultScreen(_display); | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:148:15: note: the macro 'DefaultScreen' had not yet been defined In file included from ../ruby/input/xlib.cpp:3, from ../ruby/input/input.cpp:22, from ../ruby/ruby.cpp:30: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:89: note: it was later defined here 89 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | ../hiro/core/../gtk/browser-window.cpp:26:21: error: 'GTK_RESPONSE_ACCEPT' was not declared in this scope 26 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:27:12: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] 27 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:27:6: error: expected primary-expression before 'const' 27 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:27:6: error: expected ')' before 'const' 27 | (const gchar*)nullptr | ~^~~~~ | ) ../hiro/core/../gtk/browser-window.cpp:30:54: error: 'GTK_FILE_CHOOSER' was not declared in this scope 30 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:150:5: error: 'XWindowAttributes' was not declared in this scope 150 | XWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:30:18: error: 'gtk_file_chooser_set_current_folder' was not declared in this scope 30 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:151:36: error: 'RootWindow' was not declared in this scope 151 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~ ../ruby/video/glx.cpp:151:36: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../hiro/core/../gtk/browser-window.cpp:32:21: error: 'GTK_DIALOG' was not declared in this scope 32 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~ ../ruby/video/glx.cpp:151:68: error: 'attributes' was not declared in this scope 151 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:32:6: error: 'gtk_dialog_run' was not declared in this scope 32 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:33:48: error: 'GTK_FILE_CHOOSER' was not declared in this scope 33 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:33:18: error: 'gtk_file_chooser_get_filename' was not declared in this scope 33 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:35:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 35 | g_free(temp); | ^~~~~~ | free ../ruby/video/glx.cpp:151:5: error: 'XGetWindowAttributes' was not declared in this scope 151 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:38:3: error: 'gtk_widget_destroy' was not declared in this scope 38 | gtk_widget_destroy(dialog); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp: In member function 'void VideoGLX::destruct()': ../ruby/video/glx.cpp:157:19: error: '_display' was not declared in this scope 157 | XCloseDisplay(_display); | ^~~~~~~~ ../hiro/core/../gtk/browser-window.cpp: In static member function 'static nall::string hiro::pBrowserWindow::open(hiro::BrowserWindow::State&)': ../hiro/core/../gtk/browser-window.cpp:46:3: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 46 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/browser-window.cpp:46:14: error: 'dialog' was not declared in this scope 46 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:48:77: error: 'struct hiro::pWindow' has no member named 'widget' 48 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~ ../ruby/video/glx.cpp:157:5: error: 'XCloseDisplay' was not declared in this scope 157 | XCloseDisplay(_display); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:48:44: error: 'GTK_WINDOW' was not declared in this scope 48 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:48:88: error: 'GtkWindow' was not declared in this scope; did you mean 'wWindow'? 48 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~ | wWindow ../hiro/core/../gtk/browser-window.cpp:48:98: error: expected primary-expression before ')' token 48 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^ ../ruby/video/glx.cpp: In member function 'bool VideoGLX::initialize()': ../ruby/video/glx.cpp:165:21: error: '_display' was not declared in this scope 165 | glXQueryVersion(_display, &_versionMajor, &_versionMinor); | ^~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:49:5: error: 'GTK_FILE_CHOOSER_ACTION_OPEN' was not declared in this scope 49 | GTK_FILE_CHOOSER_ACTION_OPEN, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:50:5: error: 'GTK_STOCK_CANCEL' was not declared in this scope 50 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:165:5: error: 'glXQueryVersion' was not declared in this scope 165 | glXQueryVersion(_display, &_versionMajor, &_versionMinor); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:50:23: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope 50 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:51:5: error: 'GTK_STOCK_OPEN' was not declared in this scope 51 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:175:7: error: 'GLX_DRAWABLE_TYPE' was not declared in this scope 175 | GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:51:21: error: 'GTK_RESPONSE_ACCEPT' was not declared in this scope 51 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:52:12: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] 52 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:52:6: error: expected primary-expression before 'const' 52 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:52:6: error: expected ')' before 'const' 52 | (const gchar*)nullptr | ~^~~~~ | ) ../ruby/video/glx.cpp:175:26: error: 'GLX_WINDOW_BIT' was not declared in this scope 175 | GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:55:54: error: 'GTK_FILE_CHOOSER' was not declared in this scope 55 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:55:18: error: 'gtk_file_chooser_set_current_folder' was not declared in this scope 55 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:58:21: error: 'GTK_DIALOG' was not declared in this scope 58 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:58:6: error: 'gtk_dialog_run' was not declared in this scope 58 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:176:7: error: 'GLX_RENDER_TYPE' was not declared in this scope 176 | GLX_RENDER_TYPE, GLX_RGBA_BIT, | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:59:48: error: 'GTK_FILE_CHOOSER' was not declared in this scope 59 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:176:24: error: 'GLX_RGBA_BIT' was not declared in this scope 176 | GLX_RENDER_TYPE, GLX_RGBA_BIT, | ^~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:59:18: error: 'gtk_file_chooser_get_filename' was not declared in this scope 59 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:61:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 61 | g_free(temp); | ^~~~~~ | free ../ruby/video/glx.cpp:177:7: error: 'GLX_DOUBLEBUFFER' was not declared in this scope 177 | GLX_DOUBLEBUFFER, True, | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:64:3: error: 'gtk_widget_destroy' was not declared in this scope 64 | gtk_widget_destroy(dialog); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp: In static member function 'static nall::string hiro::pBrowserWindow::save(hiro::BrowserWindow::State&)': ../hiro/core/../gtk/browser-window.cpp:71:3: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 71 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~~~~ | wWidget ../ruby/video/glx.cpp:177:25: error: 'True' was not declared in this scope 177 | GLX_DOUBLEBUFFER, True, | ^~~~ ../ruby/video/glx.cpp:177:25: note: the macro 'True' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:80: note: it was later defined here 80 | #define True 1 | ../hiro/core/../gtk/browser-window.cpp:71:14: error: 'dialog' was not declared in this scope 71 | GtkWidget* dialog = gtk_file_chooser_dialog_new( | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:73:77: error: 'struct hiro::pWindow' has no member named 'widget' 73 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:73:44: error: 'GTK_WINDOW' was not declared in this scope 73 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~~ ../ruby/video/glx.cpp:178:7: error: 'GLX_RED_SIZE' was not declared in this scope 178 | GLX_RED_SIZE, redDepth, | ^~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:73:88: error: 'GtkWindow' was not declared in this scope; did you mean 'wWindow'? 73 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~ | wWindow ../hiro/core/../gtk/browser-window.cpp:73:98: error: expected primary-expression before ')' token 73 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^ ../ruby/video/glx.cpp:179:7: error: 'GLX_GREEN_SIZE' was not declared in this scope 179 | GLX_GREEN_SIZE, greenDepth, | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:180:7: error: 'GLX_BLUE_SIZE' was not declared in this scope 180 | GLX_BLUE_SIZE, blueDepth, | ^~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:74:5: error: 'GTK_FILE_CHOOSER_ACTION_SAVE' was not declared in this scope 74 | GTK_FILE_CHOOSER_ACTION_SAVE, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:181:7: error: 'None' was not declared in this scope 181 | None | ^~~~ ../ruby/video/glx.cpp:181:7: note: the macro 'None' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:115: note: it was later defined here 115 | #define None 0L /* universal null resource or null atom */ | ../hiro/core/../gtk/browser-window.cpp:75:5: error: 'GTK_STOCK_CANCEL' was not declared in this scope 75 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:185:5: error: 'GLXFBConfig' was not declared in this scope 185 | GLXFBConfig* fbConfig = glXChooseFBConfig(_display, _screen, attributeList, &fbCount); | ^~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:75:23: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope 75 | GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:185:18: error: 'fbConfig' was not declared in this scope 185 | GLXFBConfig* fbConfig = glXChooseFBConfig(_display, _screen, attributeList, &fbCount); | ^~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:76:5: error: 'GTK_STOCK_OPEN' was not declared in this scope 76 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:76:21: error: 'GTK_RESPONSE_ACCEPT' was not declared in this scope 76 | GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:77:12: error: ISO C++ forbids declaration of 'type name' with no type [-fpermissive] 77 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:77:6: error: expected primary-expression before 'const' 77 | (const gchar*)nullptr | ^~~~~ ../hiro/core/../gtk/browser-window.cpp:77:6: error: expected ')' before 'const' 77 | (const gchar*)nullptr | ~^~~~~ | ) ../hiro/core/../gtk/browser-window.cpp:80:54: error: 'GTK_FILE_CHOOSER' was not declared in this scope 80 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:185:29: error: 'glXChooseFBConfig' was not declared in this scope 185 | GLXFBConfig* fbConfig = glXChooseFBConfig(_display, _screen, attributeList, &fbCount); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:80:18: error: 'gtk_file_chooser_set_current_folder' was not declared in this scope 80 | if(state.path) gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), state.path); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:188:19: error: 'glXGetVisualFromFBConfig' was not declared in this scope 188 | auto visual = glXGetVisualFromFBConfig(_display, fbConfig[0]); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:83:21: error: 'GTK_DIALOG' was not declared in this scope 83 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~ ../ruby/video/glx.cpp:190:5: error: '_parent' was not declared in this scope 190 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~~ ../hiro/core/../gtk/browser-window.cpp:83:6: error: 'gtk_dialog_run' was not declared in this scope 83 | if(gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:190:33: error: 'RootWindow' was not declared in this scope 190 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~~~~~ ../ruby/video/glx.cpp:190:33: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../hiro/core/../gtk/browser-window.cpp:84:48: error: 'GTK_FILE_CHOOSER' was not declared in this scope 84 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:190:73: error: 'Window' was not declared in this scope 190 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~ ../hiro/core/../gtk/browser-window.cpp:84:18: error: 'gtk_file_chooser_get_filename' was not declared in this scope 84 | char* temp = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:86:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 86 | g_free(temp); | ^~~~~~ | free ../ruby/video/glx.cpp:191:5: error: 'XWindowAttributes' was not declared in this scope 191 | XWindowAttributes windowAttributes; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/browser-window.cpp:89:3: error: 'gtk_widget_destroy' was not declared in this scope 89 | gtk_widget_destroy(dialog); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:10: ../hiro/core/../gtk/message-window.cpp: At global scope: ../hiro/core/../gtk/message-window.cpp:5:50: error: 'GtkMessageType' has not been declared 5 | static auto Message(MessageWindow::State& state, GtkMessageType messageStyle) -> MessageWindow::Response { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp: In function 'hiro::MessageWindow::Response hiro::Message(MessageWindow::State&, int)': ../hiro/core/../gtk/message-window.cpp:6:3: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 6 | GtkWidget* dialog = gtk_message_dialog_new( | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/message-window.cpp:6:14: error: 'dialog' was not declared in this scope 6 | GtkWidget* dialog = gtk_message_dialog_new( | ^~~~~~ ../hiro/core/../gtk/message-window.cpp:7:77: error: 'struct hiro::pWindow' has no member named 'widget' 7 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~ ../hiro/core/../gtk/message-window.cpp:7:44: error: 'GTK_WINDOW' was not declared in this scope 7 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~~ ../ruby/video/glx.cpp:192:46: error: 'windowAttributes' was not declared in this scope 192 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:7:88: error: 'GtkWindow' was not declared in this scope; did you mean 'wWindow'? 7 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^~~~~~~~~ | wWindow ../hiro/core/../gtk/message-window.cpp:7:98: error: expected primary-expression before ')' token 7 | state.parent && state.parent->self() ? GTK_WINDOW(state.parent->self()->widget) : (GtkWindow*)nullptr, | ^ ../hiro/core/../gtk/message-window.cpp:8:5: error: 'GTK_DIALOG_MODAL' was not declared in this scope 8 | GTK_DIALOG_MODAL, messageStyle, GTK_BUTTONS_NONE, "%s", (const char*)state.text | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:8:37: error: 'GTK_BUTTONS_NONE' was not declared in this scope 8 | GTK_DIALOG_MODAL, messageStyle, GTK_BUTTONS_NONE, "%s", (const char*)state.text | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:6:23: error: 'gtk_message_dialog_new' was not declared in this scope 6 | GtkWidget* dialog = gtk_message_dialog_new( | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:192:5: error: 'XGetWindowAttributes' was not declared in this scope 192 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:11:19: error: 'gtk_window_set_title' was not declared in this scope 11 | if(state.title) gtk_window_set_title(GTK_WINDOW(dialog), state.title); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:204:5: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 204 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/message-window.cpp:12:38: error: 'gtk_window_set_title' was not declared in this scope 12 | else if(Application::state().name) gtk_window_set_title(GTK_WINDOW(dialog), Application::state().name); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:16:28: error: 'GTK_DIALOG' was not declared in this scope 16 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Ok", GTK_RESPONSE_OK, nullptr); | ^~~~~~~~~~ ../ruby/video/glx.cpp:204:97: error: 'AllocNone' was not declared in this scope 204 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~ ../ruby/video/glx.cpp:204:97: note: the macro 'AllocNone' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:616: note: it was later defined here 616 | #define AllocNone 0 /* create map with no entries */ | ../hiro/core/../gtk/message-window.cpp:16:54: error: 'GTK_RESPONSE_OK' was not declared in this scope 16 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Ok", GTK_RESPONSE_OK, nullptr); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:16:5: error: 'gtk_dialog_add_buttons' was not declared in this scope 16 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Ok", GTK_RESPONSE_OK, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:204:17: error: 'XCreateColormap' was not declared in this scope; did you mean 'XNStdColormap'? 204 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/message-window.cpp:19:81: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope 19 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Ok", GTK_RESPONSE_OK, "Cancel", GTK_RESPONSE_CANCEL, nullptr); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:22:55: error: 'GTK_RESPONSE_YES' was not declared in this scope 22 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Yes", GTK_RESPONSE_YES, "No", GTK_RESPONSE_NO, nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:22:79: error: 'GTK_RESPONSE_NO' was not declared in this scope 22 | gtk_dialog_add_buttons(GTK_DIALOG(dialog), "Yes", GTK_RESPONSE_YES, "No", GTK_RESPONSE_NO, nullptr); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:29:34: error: 'GTK_DIALOG' was not declared in this scope 29 | auto response = gtk_dialog_run(GTK_DIALOG(dialog)); | ^~~~~~~~~~ ../ruby/video/glx.cpp:205:5: error: 'XSetWindowAttributes' was not declared in this scope 205 | XSetWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:29:19: error: 'gtk_dialog_run' was not declared in this scope 29 | auto response = gtk_dialog_run(GTK_DIALOG(dialog)); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:30:3: error: 'gtk_widget_destroy' was not declared in this scope 30 | gtk_widget_destroy(dialog); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:206:5: error: 'attributes' was not declared in this scope; did you mean 'attributeList'? 206 | attributes.border_pixel = 0; | ^~~~~~~~~~ | attributeList ../hiro/core/../gtk/message-window.cpp:32:18: error: 'GTK_RESPONSE_OK' was not declared in this scope 32 | if(response == GTK_RESPONSE_OK) return MessageWindow::Response::Ok; | ^~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:209:5: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 209 | _window = XCreateWindow(_display, _parent, | ^~~~~~~ | BadWindow ../hiro/core/../gtk/message-window.cpp:33:18: error: 'GTK_RESPONSE_CANCEL' was not declared in this scope 33 | if(response == GTK_RESPONSE_CANCEL) return MessageWindow::Response::Cancel; | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp:34:18: error: 'GTK_RESPONSE_YES' was not declared in this scope 34 | if(response == GTK_RESPONSE_YES) return MessageWindow::Response::Yes; | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:211:25: error: 'InputOutput' was not declared in this scope 211 | 0, visual->depth, InputOutput, visual->visual, | ^~~~~~~~~~~ ../ruby/video/glx.cpp:211:25: note: the macro 'InputOutput' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:387: note: it was later defined here 387 | #define InputOutput 1 | ../hiro/core/../gtk/message-window.cpp:35:18: error: 'GTK_RESPONSE_NO' was not declared in this scope 35 | if(response == GTK_RESPONSE_NO) return MessageWindow::Response::No; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp: In static member function 'static hiro::MessageWindow::Response hiro::pMessageWindow::error(hiro::MessageWindow::State&)': ../hiro/core/../gtk/message-window.cpp:47:25: error: 'GTK_MESSAGE_ERROR' was not declared in this scope 47 | return Message(state, GTK_MESSAGE_ERROR); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp: In static member function 'static hiro::MessageWindow::Response hiro::pMessageWindow::information(hiro::MessageWindow::State&)': ../hiro/core/../gtk/message-window.cpp:51:25: error: 'GTK_MESSAGE_INFO' was not declared in this scope 51 | return Message(state, GTK_MESSAGE_INFO); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:212:7: error: 'CWBorderPixel' was not declared in this scope 212 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:212:7: note: the macro 'CWBorderPixel' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:395: note: it was later defined here 395 | #define CWBorderPixel (1L<<3) | ../ruby/video/glx.cpp:212:23: error: 'CWColormap' was not declared in this scope 212 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~ ../ruby/video/glx.cpp:212:23: note: the macro 'CWColormap' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:405: note: it was later defined here 405 | #define CWColormap (1L<<13) | ../hiro/core/../gtk/message-window.cpp: In static member function 'static hiro::MessageWindow::Response hiro::pMessageWindow::question(hiro::MessageWindow::State&)': ../hiro/core/../gtk/message-window.cpp:55:25: error: 'GTK_MESSAGE_QUESTION' was not declared in this scope 55 | return Message(state, GTK_MESSAGE_QUESTION); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/message-window.cpp: In static member function 'static hiro::MessageWindow::Response hiro::pMessageWindow::warning(hiro::MessageWindow::State&)': ../hiro/core/../gtk/message-window.cpp:59:25: error: 'GTK_MESSAGE_WARNING' was not declared in this scope 59 | return Message(state, GTK_MESSAGE_WARNING); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:15: ../hiro/core/../gtk/timer.cpp: In function 'int hiro::Timer_trigger(pTimer*)': ../hiro/core/../gtk/timer.cpp:14:41: error: 'GSourceFunc' was not declared in this scope 14 | g_timeout_add(p->state().interval, (GSourceFunc)Timer_trigger, (gpointer)p); | ^~~~~~~~~~~ ../hiro/core/../gtk/timer.cpp:14:69: error: 'gpointer' was not declared in this scope 14 | g_timeout_add(p->state().interval, (GSourceFunc)Timer_trigger, (gpointer)p); | ^~~~~~~~ ../hiro/core/../gtk/timer.cpp:14:5: error: 'g_timeout_add' was not declared in this scope 14 | g_timeout_add(p->state().interval, (GSourceFunc)Timer_trigger, (gpointer)p); | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:212:36: error: 'CWOverrideRedirect' was not declared in this scope 212 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:212:36: note: the macro 'CWOverrideRedirect' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:401: note: it was later defined here 401 | #define CWOverrideRedirect (1L<<9) | ../hiro/core/../gtk/timer.cpp: In member function 'virtual void hiro::pTimer::setEnabled(bool)': ../hiro/core/../gtk/timer.cpp:29:38: error: 'GSourceFunc' was not declared in this scope 29 | g_timeout_add(state().interval, (GSourceFunc)Timer_trigger, (gpointer)this); | ^~~~~~~~~~~ ../ruby/video/glx.cpp:209:15: error: 'XCreateWindow' was not declared in this scope 209 | _window = XCreateWindow(_display, _parent, | ^~~~~~~~~~~~~ ../hiro/core/../gtk/timer.cpp:29:66: error: 'gpointer' was not declared in this scope 29 | g_timeout_add(state().interval, (GSourceFunc)Timer_trigger, (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/timer.cpp:29:5: error: 'g_timeout_add' was not declared in this scope 29 | g_timeout_add(state().interval, (GSourceFunc)Timer_trigger, (gpointer)this); | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:213:37: error: 'ExposureMask' was not declared in this scope 213 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../ruby/video/glx.cpp:213:37: note: the macro 'ExposureMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:166: note: it was later defined here 166 | #define ExposureMask (1L<<15) | In file included from ../hiro/core/../gtk/platform.cpp:16: ../hiro/core/../gtk/window.cpp: At global scope: ../hiro/core/../gtk/window.cpp:5:26: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:5:37: error: 'widget' was not declared in this scope; did you mean 'Widget'? 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:5:45: error: 'GdkEvent' was not declared in this scope 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~ ../ruby/video/glx.cpp:213:5: error: 'XSelectInput' was not declared in this scope 213 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:5:55: error: 'event' was not declared in this scope; did you mean 'servent'? 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:5:69: error: expected primary-expression before '*' token 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:5:71: error: 'p' was not declared in this scope 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:5:72: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:5:74: error: expected ',' or ';' before '->' token 5 | static auto Window_close(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~ ../hiro/core/../gtk/window.cpp:16:25: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:16:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^~~~~~ | Widget ../ruby/video/glx.cpp:214:5: error: 'XSetWindowBackground' was not declared in this scope 214 | XSetWindowBackground(_display, _window, 0); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:16:44: error: 'cairo_t' was not declared in this scope 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^~~~~~~ ../hiro/core/../gtk/window.cpp:16:53: error: 'context' was not declared in this scope; did you mean 'ucontext'? 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^~~~~~~ | ucontext ../hiro/core/../gtk/window.cpp:16:69: error: expected primary-expression before '*' token 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:16:71: error: 'p' was not declared in this scope 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:16:72: error: expression list treated as compound expression in initializer [-fpermissive] 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:16:74: error: expected ',' or ';' before '->' token 16 | static auto Window_draw(GtkWidget* widget, cairo_t* context, pWindow* p) -> signed { | ^~ ../ruby/video/glx.cpp:215:5: error: 'XMapWindow' was not declared in this scope; did you mean 'BadWindow'? 215 | XMapWindow(_display, _window); | ^~~~~~~~~~ | BadWindow ../ruby/video/glx.cpp:216:5: error: 'XFlush' was not declared in this scope; did you mean 'flush'? 216 | XFlush(_display); | ^~~~~~ | flush ../hiro/core/../gtk/window.cpp:46:27: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../ruby/video/glx.cpp:219:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 219 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/window.cpp:46:38: error: 'widget' was not declared in this scope; did you mean 'Widget'? 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:46:46: error: 'GdkEvent' was not declared in this scope 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~ ../ruby/video/glx.cpp:220:7: error: 'XEvent' was not declared in this scope 220 | XEvent event; | ^~~~~~ ../hiro/core/../gtk/window.cpp:46:56: error: 'event' was not declared in this scope; did you mean 'servent'? 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:46:70: error: expected primary-expression before '*' token 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:46:72: error: 'p' was not declared in this scope 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:46:73: error: expression list treated as compound expression in initializer [-fpermissive] 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:46:75: error: expected ',' or ';' before '->' token 46 | static auto Window_expose(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~ ../ruby/video/glx.cpp:221:29: error: 'event' was not declared in this scope; did you mean 'servent'? 221 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:53:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:53:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:53:49: error: 'GdkEvent' was not declared in this scope 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~~~~ ../ruby/video/glx.cpp:221:7: error: 'XNextEvent' was not declared in this scope 221 | XNextEvent(_display, &event); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:53:59: error: 'event' was not declared in this scope; did you mean 'servent'? 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:53:73: error: expected primary-expression before '*' token 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:53:75: error: 'p' was not declared in this scope 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:53:76: error: expression list treated as compound expression in initializer [-fpermissive] 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:53:78: error: expected ',' or ';' before '->' token 53 | static auto Window_configure(GtkWidget* widget, GdkEvent* event, pWindow* p) -> signed { | ^~ ../hiro/core/../gtk/window.cpp:58:25: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:58:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:58:44: error: 'GdkDragContext' was not declared in this scope 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:58:60: error: 'context' was not declared in this scope; did you mean 'ucontext'? 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~~ | ucontext ../hiro/core/../gtk/window.cpp:58:69: error: expected primary-expression before 'signed' 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~ ../hiro/core/../gtk/window.cpp:58:79: error: expected primary-expression before 'signed' 58 | static auto Window_drop(GtkWidget* widget, GdkDragContext* context, signed x, signed y, | ^~~~~~ ../ruby/video/glx.cpp:224:5: error: '_glXContext' was not declared in this scope 224 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:59:1: error: 'GtkSelectionData' was not declared in this scope 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:224:57: error: 'GL_TRUE' was not declared in this scope; did you mean 'AL_TRUE'? 224 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~ | AL_TRUE ../hiro/core/../gtk/window.cpp:59:19: error: 'data' was not declared in this scope 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^~~~ ../hiro/core/../gtk/window.cpp:59:25: error: expected primary-expression before 'unsigned' 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:59:40: error: expected primary-expression before 'unsigned' 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:59:67: error: expected primary-expression before '*' token 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:59:69: error: 'p' was not declared in this scope 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:59:70: error: expression list treated as compound expression in initializer [-fpermissive] 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:59:72: error: expected ',' or ';' before '->' token 59 | GtkSelectionData* data, unsigned type, unsigned timestamp, pWindow* p) -> void { | ^~ ../hiro/core/../gtk/window.cpp:66:38: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:66:49: error: 'widget' was not declared in this scope; did you mean 'Widget'? 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:66:57: error: expected primary-expression before 'int' 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^~~ ../hiro/core/../gtk/window.cpp:66:76: error: expected primary-expression before 'int' 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^~~ ../hiro/core/../gtk/window.cpp:66:93: error: expression list treated as compound expression in initializer [-fpermissive] 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^ ../hiro/core/../gtk/window.cpp:66:95: error: expected ',' or ';' before '->' token 66 | static auto Window_getPreferredWidth(GtkWidget* widget, int* minimalWidth, int* naturalWidth) -> void { | ^~ ../hiro/core/../gtk/window.cpp:73:39: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^~~~~~~~~ | wWidget ../ruby/video/glx.cpp:224:19: error: 'glXCreateContext' was not declared in this scope 224 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:73:50: error: 'widget' was not declared in this scope; did you mean 'Widget'? 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:73:58: error: expected primary-expression before 'int' 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^~~ ../hiro/core/../gtk/window.cpp:73:78: error: expected primary-expression before 'int' 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^~~ ../hiro/core/../gtk/window.cpp:73:96: error: expression list treated as compound expression in initializer [-fpermissive] 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^ ../hiro/core/../gtk/window.cpp:73:98: error: expected ',' or ';' before '->' token 73 | static auto Window_getPreferredHeight(GtkWidget* widget, int* minimalHeight, int* naturalHeight) -> void { | ^~ ../ruby/video/glx.cpp:225:30: error: '_glXWindow' was not declared in this scope 225 | glXMakeCurrent(_display, _glXWindow = _window, _glXContext); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:80:29: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:80:40: error: 'widget' was not declared in this scope; did you mean 'Widget'? 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~ | Widget ../ruby/video/glx.cpp:225:5: error: 'glXMakeCurrent' was not declared in this scope 225 | glXMakeCurrent(_display, _glXWindow = _window, _glXContext); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:80:48: error: 'GdkEventKey' was not declared in this scope 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~~~~~~ ../ruby/video/glx.cpp:229:58: error: 'glGetProcAddress' was not declared in this scope 229 | if(!glXSwapInterval) glXSwapInterval = (int (*)(int))glGetProcAddress("glXSwapIntervalMESA"); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:80:61: error: 'event' was not declared in this scope; did you mean 'servent'? 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:80:75: error: expected primary-expression before '*' token 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:80:77: error: 'p' was not declared in this scope 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:80:78: error: expression list treated as compound expression in initializer [-fpermissive] 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:80:80: error: expected ',' or ';' before '->' token 80 | static auto Window_keyPress(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~ ../ruby/video/glx.cpp:230:58: error: 'glGetProcAddress' was not declared in this scope 230 | if(!glXSwapInterval) glXSwapInterval = (int (*)(int))glGetProcAddress("glXSwapIntervalSGI"); | ^~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:232:40: warning: 'auto(x)' only available with '-std=c++2b' or '-std=gnu++2b' [-Wc++23-extensions] 232 | if(auto glXCreateContextAttribs = (auto (*)(Display*, GLXFBConfig, GLXContext, int, const int*) -> GLXContext)glGetProcAddress("glXCreateContextAttribsARB")) { | ^~~~~~~~ ../ruby/video/glx.cpp:232:40: error: expected primary-expression before 'auto' 232 | if(auto glXCreateContextAttribs = (auto (*)(Display*, GLXFBConfig, GLXContext, int, const int*) -> GLXContext)glGetProcAddress("glXCreateContextAttribsARB")) { | ^~~~ ../ruby/video/glx.cpp:232:40: error: expected ')' before 'auto' ../ruby/video/glx.cpp:232:39: note: to match this '(' 232 | if(auto glXCreateContextAttribs = (auto (*)(Display*, GLXFBConfig, GLXContext, int, const int*) -> GLXContext)glGetProcAddress("glXCreateContextAttribsARB")) { | ^ ../ruby/video/glx.cpp:253:7: error: expected ')' before 'else' 253 | } else { | ^~~~ ../ruby/video/glx.cpp:232:7: note: to match this '(' 232 | if(auto glXCreateContextAttribs = (auto (*)(Display*, GLXFBConfig, GLXContext, int, const int*) -> GLXContext)glGetProcAddress("glXCreateContextAttribsARB")) { | ^ ../hiro/core/../gtk/window.cpp:95:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~~~~ | wWidget ../ruby/video/glx.cpp:262:5: error: 'glXGetConfig' was not declared in this scope; did you mean 'getnetconfig'? 262 | glXGetConfig(_display, visual, GLX_DOUBLEBUFFER, &value); | ^~~~~~~~~~~~ | getnetconfig ../hiro/core/../gtk/window.cpp:95:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:95:50: error: 'GdkEventKey' was not declared in this scope 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~~~~~~~ ../ruby/video/glx.cpp:264:17: error: 'glXIsDirect' was not declared in this scope; did you mean '_isDirect'? 264 | _isDirect = glXIsDirect(_display, _glXContext); | ^~~~~~~~~~~ | _isDirect ../hiro/core/../gtk/window.cpp:95:63: error: 'event' was not declared in this scope; did you mean 'servent'? 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:95:77: error: expected primary-expression before '*' token 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:95:79: error: 'p' was not declared in this scope 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:95:80: error: expression list treated as compound expression in initializer [-fpermissive] 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^ ../hiro/core/../gtk/window.cpp:95:82: error: expected ',' or ';' before '->' token 95 | static auto Window_keyRelease(GtkWidget* widget, GdkEventKey* event, pWindow* p) -> signed { | ^~ ../hiro/core/../gtk/window.cpp:102:28: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^~~~~~~~~ | wWidget ../ruby/video/glx.cpp: In member function 'void VideoGLX::terminate()': ../ruby/video/glx.cpp:273:8: error: '_glXContext' was not declared in this scope 273 | if(_glXContext) { | ^~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:102:39: error: 'widget' was not declared in this scope; did you mean 'Widget'? 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:102:54: error: expected primary-expression before '*' token 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:102:56: error: 'p' was not declared in this scope 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:102:57: error: expression list treated as compound expression in initializer [-fpermissive] 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:102:59: error: expected ',' or ';' before '->' token 102 | static auto Window_realize(GtkWidget* widget, pWindow* p) -> void { | ^~ ../ruby/video/glx.cpp:274:25: error: '_display' was not declared in this scope 274 | glXDestroyContext(_display, _glXContext); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:105:33: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:105:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:105:52: error: 'GtkAllocation' was not declared in this scope 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^~~~~~~~~~~~~ ../ruby/video/glx.cpp:274:7: error: 'glXDestroyContext' was not declared in this scope 274 | glXDestroyContext(_display, _glXContext); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:105:67: error: 'allocation' was not declared in this scope 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:105:86: error: expected primary-expression before '*' token 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:105:88: error: 'p' was not declared in this scope 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:105:89: error: expression list treated as compound expression in initializer [-fpermissive] 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:105:91: error: expected ',' or ';' before '->' token 105 | static auto Window_sizeAllocate(GtkWidget* widget, GtkAllocation* allocation, pWindow* p) -> void { | ^~ ../ruby/video/glx.cpp:278:8: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 278 | if(_window) { | ^~~~~~~ | BadWindow ../hiro/core/../gtk/window.cpp:112:32: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:112:43: error: 'widget' was not declared in this scope; did you mean 'Widget'? 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:112:51: error: 'GtkRequisition' was not declared in this scope 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:112:67: error: 'requisition' was not declared in this scope 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:112:87: error: expected primary-expression before '*' token 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:112:89: error: 'p' was not declared in this scope 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:112:90: error: expression list treated as compound expression in initializer [-fpermissive] 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:112:92: error: expected ',' or ';' before '->' token 112 | static auto Window_sizeRequest(GtkWidget* widget, GtkRequisition* requisition, pWindow* p) -> void { | ^~ ../hiro/core/../gtk/window.cpp:117:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:117:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:117:50: error: 'GdkEvent' was not declared in this scope 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:117:60: error: 'event' was not declared in this scope; did you mean 'servent'? 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:117:74: error: expected primary-expression before '*' token 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:117:76: error: 'p' was not declared in this scope 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:117:77: error: expression list treated as compound expression in initializer [-fpermissive] 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:117:79: error: expected ',' or ';' before '->' token 117 | static auto Window_stateEvent(GtkWidget* widget, GdkEvent* event, pWindow* p) -> void { | ^~ ../ruby/video/glx.cpp:279:20: error: '_display' was not declared in this scope 279 | XUnmapWindow(_display, _window); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:131:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/window.cpp:131:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:131:56: error: expected primary-expression before '*' token 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:131:58: error: 'p' was not declared in this scope 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:131:59: error: expression list treated as compound expression in initializer [-fpermissive] 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^ ../hiro/core/../gtk/window.cpp:131:61: error: expected ',' or ';' before '->' token 131 | static auto Window_unrealize(GtkWidget* widget, pWindow* p) -> void { | ^~ ../hiro/core/../gtk/window.cpp: In member function 'virtual void hiro::pWindow::construct()': ../hiro/core/../gtk/window.cpp:135:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 135 | widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ^~~~~~ | Widget ../ruby/video/glx.cpp:279:7: error: 'XUnmapWindow' was not declared in this scope 279 | XUnmapWindow(_display, _window); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:135:27: error: 'GTK_WINDOW_TOPLEVEL' was not declared in this scope 135 | widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/glx.cpp:283:8: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 283 | if(_colormap) { | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/window.cpp:135:12: error: 'gtk_window_new' was not declared in this scope 135 | widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ^~~~~~~~~~~~~~ ../ruby/video/glx.cpp:284:21: error: '_display' was not declared in this scope 284 | XFreeColormap(_display, _colormap); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:136:28: error: 'GTK_WINDOW' was not declared in this scope 136 | gtk_window_set_resizable(GTK_WINDOW(widget), true); | ^~~~~~~~~~ ../ruby/video/glx.cpp:284:7: error: 'XFreeColormap' was not declared in this scope; did you mean 'XNStdColormap'? 284 | XFreeColormap(_display, _colormap); | ^~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/window.cpp:136:3: error: 'gtk_window_set_resizable' was not declared in this scope 136 | gtk_window_set_resizable(GTK_WINDOW(widget), true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: At global scope: ../ruby/video/glx2.cpp:360:3: error: 'Display' does not name a type 360 | Display* _display = nullptr; | ^~~~~~~ ../ruby/video/glx2.cpp:367:3: error: 'Window' does not name a type 367 | Window _parent = 0; | ^~~~~~ ../ruby/video/glx2.cpp:368:3: error: 'Window' does not name a type 368 | Window _window = 0; | ^~~~~~ ../ruby/video/glx2.cpp:369:3: error: 'Colormap' does not name a type; did you mean 'CWColormap'? 369 | Colormap _colormap = 0; | ^~~~~~~~ | CWColormap ../hiro/core/../gtk/window.cpp:144:44: error: 'gdk_screen_get_default' was not declared in this scope 144 | auto visual = gdk_screen_get_rgba_visual(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:370:3: error: 'GLXContext' does not name a type; did you mean 'ucontext'? 370 | GLXContext _glXContext = nullptr; | ^~~~~~~~~~ | ucontext ../ruby/video/glx2.cpp:371:3: error: 'GLXWindow' does not name a type; did you mean 'BadWindow'? 371 | GLXWindow _glXWindow = 0; | ^~~~~~~~~ | BadWindow ../ruby/video/glx2.cpp:379:3: error: 'GLuint' does not name a type; did you mean 'uint'? 379 | GLuint _glTexture = 0; | ^~~~~~ | uint ../hiro/core/../gtk/window.cpp:144:17: error: 'gdk_screen_get_rgba_visual' was not declared in this scope 144 | auto visual = gdk_screen_get_rgba_visual(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:145:24: error: 'gdk_screen_get_system_visual' was not declared in this scope 145 | if(!visual) visual = gdk_screen_get_system_visual(gdk_screen_get_default()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:383:20: error: 'GL_UNSIGNED_INT_8_8_8_8_REV' was not declared in this scope 383 | uint _glFormat = GL_UNSIGNED_INT_8_8_8_8_REV; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:146:14: error: 'gtk_widget_set_visual' was not declared in this scope 146 | if(visual) gtk_widget_set_visual(widget, visual); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'virtual bool VideoGLX2::setFormat(nall::string)': ../ruby/video/glx2.cpp:70:19: error: 'GL_UNSIGNED_INT_8_8_8_8_REV' was not declared in this scope 70 | _glFormat = GL_UNSIGNED_INT_8_8_8_8_REV; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:148:3: error: 'gtk_widget_set_app_paintable' was not declared in this scope 148 | gtk_widget_set_app_paintable(widget, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:149:33: error: 'GDK_CONFIGURE' was not declared in this scope 149 | gtk_widget_add_events(widget, GDK_CONFIGURE); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:75:19: error: 'GL_UNSIGNED_INT_2_10_10_10_REV' was not declared in this scope 75 | _glFormat = GL_UNSIGNED_INT_2_10_10_10_REV; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:149:3: error: 'gtk_widget_add_events' was not declared in this scope 149 | gtk_widget_add_events(widget, GDK_CONFIGURE); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'virtual void VideoGLX2::clear()': ../ruby/video/glx2.cpp:92:5: error: 'glClearColor' was not declared in this scope 92 | glClearColor(0.0, 0.0, 0.0, 1.0); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:154:3: error: 'menuContainer' was not declared in this scope 154 | menuContainer = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:93:13: error: 'GL_COLOR_BUFFER_BIT' was not declared in this scope 93 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:154:31: error: 'GTK_ORIENTATION_VERTICAL' was not declared in this scope 154 | menuContainer = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:93:5: error: 'glClear' was not declared in this scope; did you mean 'GXclear'? 93 | glClear(GL_COLOR_BUFFER_BIT); | ^~~~~~~ | GXclear ../hiro/core/../gtk/window.cpp:154:19: error: 'gtk_box_new' was not declared in this scope 154 | menuContainer = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); | ^~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:156:21: error: 'GTK_CONTAINER' was not declared in this scope 156 | gtk_container_add(GTK_CONTAINER(widget), menuContainer); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:94:5: error: 'glFlush' was not declared in this scope; did you mean 'flush'? 94 | glFlush(); | ^~~~~~~ | flush ../hiro/core/../gtk/window.cpp:156:3: error: 'gtk_container_add' was not declared in this scope 156 | gtk_container_add(GTK_CONTAINER(widget), menuContainer); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:157:3: error: 'gtk_widget_show' was not declared in this scope 157 | gtk_widget_show(menuContainer); | ^~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:95:42: error: '_display' was not declared in this scope 95 | if(_isDoubleBuffered) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:159:3: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 159 | gtkMenu = gtk_menu_bar_new(); | ^~~~~~~ | wMenu ../hiro/core/../gtk/window.cpp:159:13: error: 'gtk_menu_bar_new' was not declared in this scope 159 | gtkMenu = gtk_menu_bar_new(); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:160:22: error: 'GTK_BOX' was not declared in this scope 160 | gtk_box_pack_start(GTK_BOX(menuContainer), gtkMenu, false, false, 0); | ^~~~~~~ ../ruby/video/glx2.cpp:95:52: error: '_glXWindow' was not declared in this scope; did you mean '_glWidth'? 95 | if(_isDoubleBuffered) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~ | _glWidth ../hiro/core/../gtk/window.cpp:160:3: error: 'gtk_box_pack_start' was not declared in this scope 160 | gtk_box_pack_start(GTK_BOX(menuContainer), gtkMenu, false, false, 0); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:95:27: error: 'glXSwapBuffers' was not declared in this scope 95 | if(_isDoubleBuffered) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:162:3: error: 'formContainer' was not declared in this scope 162 | formContainer = gtk_fixed_new(); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'virtual void VideoGLX2::size(uint&, uint&)': ../ruby/video/glx2.cpp:103:7: error: 'XWindowAttributes' was not declared in this scope 103 | XWindowAttributes parent; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:162:19: error: 'gtk_fixed_new' was not declared in this scope 162 | formContainer = gtk_fixed_new(); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:104:28: error: '_display' was not declared in this scope 104 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:166:3: error: 'statusContainer' was not declared in this scope 166 | statusContainer = gtk_event_box_new(); | ^~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:104:38: error: '_parent' was not declared in this scope 104 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../ruby/video/glx2.cpp:104:48: error: 'parent' was not declared in this scope; did you mean 'dirent'? 104 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../hiro/core/../gtk/window.cpp:166:21: error: 'gtk_event_box_new' was not declared in this scope 166 | statusContainer = gtk_event_box_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:167:3: error: 'gtkStatus' was not declared in this scope 167 | gtkStatus = gtk_statusbar_new(); | ^~~~~~~~~ ../ruby/video/glx2.cpp:104:7: error: 'XGetWindowAttributes' was not declared in this scope 104 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:167:15: error: 'gtk_statusbar_new' was not declared in this scope 167 | gtkStatus = gtk_statusbar_new(); | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'virtual void VideoGLX2::output(uint, uint)': ../ruby/video/glx2.cpp:120:5: error: 'XWindowAttributes' was not declared in this scope 120 | XWindowAttributes window; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:171:3: error: 'gtk_window_set_has_resize_grip' was not declared in this scope 171 | gtk_window_set_has_resize_grip(GTK_WINDOW(widget), true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:185:20: error: 'G_OBJECT' was not declared in this scope 185 | g_signal_connect(G_OBJECT(widget), "delete-event", G_CALLBACK(Window_close), (gpointer)this); | ^~~~~~~~ ../ruby/video/glx2.cpp:121:26: error: '_display' was not declared in this scope 121 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:185:54: error: 'G_CALLBACK' was not declared in this scope 185 | g_signal_connect(G_OBJECT(widget), "delete-event", G_CALLBACK(Window_close), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:185:81: error: 'gpointer' was not declared in this scope 185 | g_signal_connect(G_OBJECT(widget), "delete-event", G_CALLBACK(Window_close), (gpointer)this); | ^~~~~~~~ ../ruby/video/glx2.cpp:121:36: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 121 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~ | BadWindow ../ruby/video/glx2.cpp:121:46: error: 'window' was not declared in this scope 121 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~ ../hiro/core/../gtk/window.cpp:185:3: error: 'g_signal_connect' was not declared in this scope 185 | g_signal_connect(G_OBJECT(widget), "delete-event", G_CALLBACK(Window_close), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:189:81: error: expected ')' before 'this' 189 | g_signal_connect(G_OBJECT(widget), "draw", G_CALLBACK(Window_draw), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:191:97: error: expected ')' before 'this' 191 | g_signal_connect(G_OBJECT(widget), "configure-event", G_CALLBACK(Window_configure), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:192:95: error: expected ')' before 'this' 192 | g_signal_connect(G_OBJECT(widget), "drag-data-received", G_CALLBACK(Window_drop), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:193:96: error: expected ')' before 'this' 193 | g_signal_connect(G_OBJECT(widget), "key-press-event", G_CALLBACK(Window_keyPress), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:194:100: error: expected ')' before 'this' 194 | g_signal_connect(G_OBJECT(widget), "key-release-event", G_CALLBACK(Window_keyRelease), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:195:87: error: expected ')' before 'this' 195 | g_signal_connect(G_OBJECT(widget), "realize", G_CALLBACK(Window_realize), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:196:105: error: expected ')' before 'this' 196 | g_signal_connect(G_OBJECT(formContainer), "size-allocate", G_CALLBACK(Window_sizeAllocate), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:200:22: error: 'GTK_WIDGET_GET_CLASS' was not declared in this scope 200 | auto widgetClass = GTK_WIDGET_GET_CLASS(formContainer); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:204:91: error: expected ')' before 'this' 204 | g_signal_connect(G_OBJECT(widget), "unrealize", G_CALLBACK(Window_unrealize), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:205:101: error: expected ')' before 'this' 205 | g_signal_connect(G_OBJECT(widget), "window-state-event", G_CALLBACK(Window_stateEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp:207:65: error: expected ')' before 'this' 207 | g_object_set_data(G_OBJECT(widget), "hiro::window", (gpointer)this); | ~ ^~~~ | ) ../ruby/video/glx2.cpp:121:5: error: 'XGetWindowAttributes' was not declared in this scope 121 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:123:23: error: expected ';' before 'parent' 123 | XWindowAttributes parent; | ^~~~~~ ../hiro/core/../gtk/window.cpp:207:3: error: 'g_object_set_data' was not declared in this scope 207 | g_object_set_data(G_OBJECT(widget), "hiro::window", (gpointer)this); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:208:72: error: expected ')' before 'this' 208 | g_object_set_data(G_OBJECT(formContainer), "hiro::window", (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/window.cpp: In member function 'virtual void hiro::pWindow::destruct()': ../hiro/core/../gtk/window.cpp:221:22: error: 'widget' was not declared in this scope; did you mean 'Widget'? 221 | gtk_widget_destroy(widget); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:221:3: error: 'gtk_widget_destroy' was not declared in this scope 221 | gtk_widget_destroy(widget); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:124:36: error: '_parent' was not declared in this scope 124 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'virtual bool hiro::pWindow::focused() const': ../hiro/core/../gtk/window.cpp:241:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 241 | return gtk_window_is_active(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:124:46: error: 'parent' was not declared in this scope; did you mean 'dirent'? 124 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../ruby/video/glx2.cpp:127:7: error: 'XResizeWindow' was not declared in this scope 127 | XResizeWindow(_display, _window, parent.width, parent.height); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:241:31: error: 'GTK_WINDOW' was not declared in this scope 241 | return gtk_window_is_active(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:145:21: error: 'GL_TEXTURE_2D' was not declared in this scope 145 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:241:10: error: 'gtk_window_is_active' was not declared in this scope 241 | return gtk_window_is_active(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'uint hiro::pWindow::monitor() const': ../hiro/core/../gtk/window.cpp:271:31: error: 'widget' was not declared in this scope; did you mean 'Widget'? 271 | if(!gtk_widget_get_realized(widget)) return 0; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:145:36: error: 'GL_TEXTURE_WRAP_S' was not declared in this scope 145 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:271:7: error: 'gtk_widget_get_realized' was not declared in this scope 271 | if(!gtk_widget_get_realized(widget)) return 0; | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:272:39: error: 'widget' was not declared in this scope; did you mean 'Widget'? 272 | auto window = gtk_widget_get_window(widget); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:145:55: error: 'GL_CLAMP_TO_BORDER' was not declared in this scope 145 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:272:17: error: 'gtk_widget_get_window' was not declared in this scope 272 | auto window = gtk_widget_get_window(widget); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:273:43: error: 'gdk_screen_get_default' was not declared in this scope 273 | return gdk_screen_get_monitor_at_window(gdk_screen_get_default(), window); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:145:5: error: 'glTexParameteri' was not declared in this scope; did you mean 'glrParameters'? 145 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); | ^~~~~~~~~~~~~~~ | glrParameters ../hiro/core/../gtk/window.cpp:273:10: error: 'gdk_screen_get_monitor_at_window' was not declared in this scope 273 | return gdk_screen_get_monitor_at_window(gdk_screen_get_default(), window); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/window.cpp:288:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 288 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../ruby/video/glx2.cpp:146:36: error: 'GL_TEXTURE_WRAP_T' was not declared in this scope 146 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:289:24: error: 'widget' was not declared in this scope; did you mean 'Widget'? 289 | gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:289:32: error: 'GTK_STATE_NORMAL' was not declared in this scope 289 | gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:289:59: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 289 | gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../ruby/video/glx2.cpp:147:36: error: 'GL_TEXTURE_MAG_FILTER' was not declared in this scope 147 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, self.shader == "Blur" ? GL_LINEAR : GL_NEAREST); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:289:3: error: 'gtk_widget_modify_bg' was not declared in this scope 289 | gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setDroppable(bool)': ../hiro/core/../gtk/window.cpp:296:21: error: 'widget' was not declared in this scope; did you mean 'Widget'? 296 | gtk_drag_dest_set(widget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:147:83: error: 'GL_LINEAR' was not declared in this scope 147 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, self.shader == "Blur" ? GL_LINEAR : GL_NEAREST); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:296:29: error: 'GTK_DEST_DEFAULT_ALL' was not declared in this scope 296 | gtk_drag_dest_set(widget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:147:95: error: 'GL_NEAREST' was not declared in this scope 147 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, self.shader == "Blur" ? GL_LINEAR : GL_NEAREST); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:296:63: error: 'GDK_ACTION_COPY' was not declared in this scope 296 | gtk_drag_dest_set(widget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:296:3: error: 'gtk_drag_dest_set' was not declared in this scope 296 | gtk_drag_dest_set(widget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:148:36: error: 'GL_TEXTURE_MIN_FILTER' was not declared in this scope 148 | glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, self.shader == "Blur" ? GL_LINEAR : GL_NEAREST); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:297:17: error: 'gtk_drag_dest_add_uri_targets' was not declared in this scope 297 | if(droppable) gtk_drag_dest_add_uri_targets(widget); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'virtual void hiro::pWindow::setFocused()': ../hiro/core/../gtk/window.cpp:311:33: error: 'widget' was not declared in this scope; did you mean 'Widget'? 311 | gtk_window_present(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:150:18: error: 'GL_PROJECTION' was not declared in this scope; did you mean 'AL_POSITION'? 150 | glMatrixMode(GL_PROJECTION); | ^~~~~~~~~~~~~ | AL_POSITION ../hiro/core/../gtk/window.cpp:311:22: error: 'GTK_WINDOW' was not declared in this scope 311 | gtk_window_present(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:150:5: error: 'glMatrixMode' was not declared in this scope 150 | glMatrixMode(GL_PROJECTION); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:311:3: error: 'gtk_window_present' was not declared in this scope 311 | gtk_window_present(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setFullScreen(bool)': ../hiro/core/../gtk/window.cpp:316:38: error: 'widget' was not declared in this scope; did you mean 'Widget'? 316 | gtk_window_fullscreen(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:151:5: error: 'glLoadIdentity' was not declared in this scope 151 | glLoadIdentity(); | ^~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:153:5: error: 'glOrtho' was not declared in this scope 153 | glOrtho(0, 1, 0, 1, -1.0, 1.0); | ^~~~~~~ ../hiro/core/../gtk/window.cpp:316:27: error: 'GTK_WINDOW' was not declared in this scope 316 | gtk_window_fullscreen(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:155:5: error: 'glViewport' was not declared in this scope 155 | glViewport(0, 0, parent.width, parent.height); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:316:5: error: 'gtk_window_fullscreen' was not declared in this scope 316 | gtk_window_fullscreen(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:318:40: error: 'widget' was not declared in this scope; did you mean 'Widget'? 318 | gtk_window_unfullscreen(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:318:29: error: 'GTK_WINDOW' was not declared in this scope 318 | gtk_window_unfullscreen(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:157:18: error: 'GL_MODELVIEW' was not declared in this scope 157 | glMatrixMode(GL_MODELVIEW); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:318:5: error: 'gtk_window_unfullscreen' was not declared in this scope 318 | gtk_window_unfullscreen(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setGeometry(hiro::Geometry)': ../hiro/core/../gtk/window.cpp:338:30: error: 'widget' was not declared in this scope; did you mean 'Widget'? 338 | gtk_window_move(GTK_WINDOW(widget), geometry.x() - margin.x(), geometry.y() - margin.y()); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:159:19: error: 'GL_UNPACK_ROW_LENGTH' was not declared in this scope 159 | glPixelStorei(GL_UNPACK_ROW_LENGTH, _glWidth); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:338:19: error: 'GTK_WINDOW' was not declared in this scope 338 | gtk_window_move(GTK_WINDOW(widget), geometry.x() - margin.x(), geometry.y() - margin.y()); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:159:5: error: 'glPixelStorei' was not declared in this scope 159 | glPixelStorei(GL_UNPACK_ROW_LENGTH, _glWidth); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:160:62: error: 'GL_BGRA' was not declared in this scope 160 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, _width, _height, GL_BGRA, _glFormat, _glBuffer); | ^~~~~~~ ../hiro/core/../gtk/window.cpp:338:3: error: 'gtk_window_move' was not declared in this scope 338 | gtk_window_move(GTK_WINDOW(widget), geometry.x() - margin.x(), geometry.y() - margin.y()); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:339:3: error: 'gtk_window_resize' was not declared in this scope 339 | gtk_window_resize(GTK_WINDOW(widget), geometry.width(), geometry.height() + _menuHeight() + _statusHeight()); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setMaximized(bool)': ../hiro/core/../gtk/window.cpp:350:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 350 | gtk_window_maximize(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:350:25: error: 'GTK_WINDOW' was not declared in this scope 350 | gtk_window_maximize(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:160:5: error: 'glTexSubImage2D' was not declared in this scope 160 | glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, _width, _height, GL_BGRA, _glFormat, _glBuffer); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:350:5: error: 'gtk_window_maximize' was not declared in this scope 350 | gtk_window_maximize(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:352:38: error: 'widget' was not declared in this scope; did you mean 'Widget'? 352 | gtk_window_unmaximize(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:352:27: error: 'GTK_WINDOW' was not declared in this scope 352 | gtk_window_unmaximize(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:188:13: error: 'GL_TRIANGLE_STRIP' was not declared in this scope 188 | glBegin(GL_TRIANGLE_STRIP); | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:188:5: error: 'glBegin' was not declared in this scope 188 | glBegin(GL_TRIANGLE_STRIP); | ^~~~~~~ ../hiro/core/../gtk/window.cpp:352:5: error: 'gtk_window_unmaximize' was not declared in this scope 352 | gtk_window_unmaximize(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:189:5: error: 'glTexCoord2f' was not declared in this scope 189 | glTexCoord2f(0, 0); glVertex3f(vl, vt, 0); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setMaximumSize(hiro::Size)': ../hiro/core/../gtk/window.cpp:360:3: error: 'GdkGeometry' was not declared in this scope; did you mean 'setGeometry'? 360 | GdkGeometry geometry; | ^~~~~~~~~~~ | setGeometry ../hiro/core/../gtk/window.cpp:362:3: error: 'geometry' was not declared in this scope; did you mean 'Geometry'? 362 | geometry.max_width = !state().resizable ? state().geometry.width() : size.width() ? size.width() : 32767; | ^~~~~~~~ | Geometry ../hiro/core/../gtk/window.cpp:364:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 364 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MAX_SIZE); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:189:25: error: 'glVertex3f' was not declared in this scope 189 | glTexCoord2f(0, 0); glVertex3f(vl, vt, 0); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:364:33: error: 'GTK_WINDOW' was not declared in this scope 364 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MAX_SIZE); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:193:5: error: 'glEnd' was not declared in this scope 193 | glEnd(); | ^~~~~ ../hiro/core/../gtk/window.cpp:364:73: error: 'GDK_HINT_MAX_SIZE' was not declared in this scope 364 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MAX_SIZE); | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:194:5: error: 'glFlush' was not declared in this scope; did you mean 'flush'? 194 | glFlush(); | ^~~~~~~ | flush ../hiro/core/../gtk/window.cpp:364:3: error: 'gtk_window_set_geometry_hints' was not declared in this scope 364 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MAX_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:196:52: error: '_glXWindow' was not declared in this scope; did you mean '_glWidth'? 196 | if(_isDoubleBuffered) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~ | _glWidth ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setMinimized(bool)': ../hiro/core/../gtk/window.cpp:370:35: error: 'widget' was not declared in this scope; did you mean 'Widget'? 370 | gtk_window_iconify(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:370:24: error: 'GTK_WINDOW' was not declared in this scope 370 | gtk_window_iconify(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:196:27: error: 'glXSwapBuffers' was not declared in this scope 196 | if(_isDoubleBuffered) glXSwapBuffers(_display, _glXWindow); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:370:5: error: 'gtk_window_iconify' was not declared in this scope 370 | gtk_window_iconify(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:197:20: error: 'glFinish' was not declared in this scope 197 | if(self.flush) glFinish(); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:372:37: error: 'widget' was not declared in this scope; did you mean 'Widget'? 372 | gtk_window_deiconify(GTK_WINDOW(widget)); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:372:26: error: 'GTK_WINDOW' was not declared in this scope 372 | gtk_window_deiconify(GTK_WINDOW(widget)); | ^~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'virtual void VideoGLX2::poll()': ../ruby/video/glx2.cpp:201:20: error: '_display' was not declared in this scope 201 | while(XPending(_display)) { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:372:5: error: 'gtk_window_deiconify' was not declared in this scope 372 | gtk_window_deiconify(GTK_WINDOW(widget)); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:201:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 201 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setMinimumSize(hiro::Size)': ../hiro/core/../gtk/window.cpp:380:31: error: 'formContainer' was not declared in this scope 380 | gtk_widget_set_size_request(formContainer, size.width(), size.height()); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:202:7: error: 'XEvent' was not declared in this scope 202 | XEvent event; | ^~~~~~ ../ruby/video/glx2.cpp:203:29: error: 'event' was not declared in this scope; did you mean 'servent'? 203 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:380:3: error: 'gtk_widget_set_size_request' was not declared in this scope 380 | gtk_widget_set_size_request(formContainer, size.width(), size.height()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:203:7: error: 'XNextEvent' was not declared in this scope 203 | XNextEvent(_display, &event); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:383:3: error: 'GdkGeometry' was not declared in this scope; did you mean 'setGeometry'? 383 | GdkGeometry geometry; | ^~~~~~~~~~~ | setGeometry ../hiro/core/../gtk/window.cpp:385:3: error: 'geometry' was not declared in this scope; did you mean 'Geometry'? 385 | geometry.min_width = !state().resizable ? state().geometry.width() : size.width() ? size.width() : 1; | ^~~~~~~~ | Geometry ../ruby/video/glx2.cpp:204:24: error: 'Expose' was not declared in this scope 204 | if(event.type == Expose) { | ^~~~~~ ../ruby/video/glx2.cpp:204:24: note: the macro 'Expose' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:191: note: it was later defined here 191 | #define Expose 12 | ../hiro/core/../gtk/window.cpp:387:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 387 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MIN_SIZE); //for GTK2 | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:387:33: error: 'GTK_WINDOW' was not declared in this scope 387 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MIN_SIZE); //for GTK2 | ^~~~~~~~~~ ../ruby/video/glx2.cpp:205:9: error: 'XWindowAttributes' was not declared in this scope 205 | XWindowAttributes attributes; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:387:73: error: 'GDK_HINT_MIN_SIZE' was not declared in this scope 387 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MIN_SIZE); //for GTK2 | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:206:40: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 206 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~ | BadWindow ../hiro/core/../gtk/window.cpp:387:3: error: 'gtk_window_set_geometry_hints' was not declared in this scope 387 | gtk_window_set_geometry_hints(GTK_WINDOW(widget), nullptr, &geometry, GDK_HINT_MIN_SIZE); //for GTK2 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setModal(bool)': ../hiro/core/../gtk/window.cpp:392:37: error: 'widget' was not declared in this scope; did you mean 'Widget'? 392 | gtk_window_set_modal(GTK_WINDOW(widget), true); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:392:26: error: 'GTK_WINDOW' was not declared in this scope 392 | gtk_window_set_modal(GTK_WINDOW(widget), true); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:206:50: error: 'attributes' was not declared in this scope 206 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:392:5: error: 'gtk_window_set_modal' was not declared in this scope 392 | gtk_window_set_modal(GTK_WINDOW(widget), true); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setResizable(bool)': ../hiro/core/../gtk/window.cpp:406:39: error: 'widget' was not declared in this scope; did you mean 'Widget'? 406 | gtk_window_set_resizable(GTK_WINDOW(widget), resizable); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:406:28: error: 'GTK_WINDOW' was not declared in this scope 406 | gtk_window_set_resizable(GTK_WINDOW(widget), resizable); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:206:9: error: 'XGetWindowAttributes' was not declared in this scope 206 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:406:3: error: 'gtk_window_set_resizable' was not declared in this scope 406 | gtk_window_set_resizable(GTK_WINDOW(widget), resizable); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:412:3: error: 'gtk_window_set_has_resize_grip' was not declared in this scope 412 | gtk_window_set_has_resize_grip(GTK_WINDOW(widget), resizable && statusBarVisible); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'void VideoGLX2::construct()': ../ruby/video/glx2.cpp:214:5: error: '_display' was not declared in this scope 214 | _display = XOpenDisplay(nullptr); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::setTitle(const nall::string&)': ../hiro/core/../gtk/window.cpp:420:35: error: 'widget' was not declared in this scope; did you mean 'Widget'? 420 | gtk_window_set_title(GTK_WINDOW(widget), title ? title : " "); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:420:24: error: 'GTK_WINDOW' was not declared in this scope 420 | gtk_window_set_title(GTK_WINDOW(widget), title ? title : " "); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:420:3: error: 'gtk_window_set_title' was not declared in this scope 420 | gtk_window_set_title(GTK_WINDOW(widget), title ? title : " "); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:214:16: error: 'XOpenDisplay' was not declared in this scope 214 | _display = XOpenDisplay(nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'virtual void hiro::pWindow::setVisible(bool)': ../hiro/core/../gtk/window.cpp:424:26: error: 'widget' was not declared in this scope; did you mean 'Widget'? 424 | gtk_widget_set_visible(widget, visible); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:215:15: error: 'DefaultScreen' was not declared in this scope 215 | _screen = DefaultScreen(_display); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:215:15: note: the macro 'DefaultScreen' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:89: note: it was later defined here 89 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | ../hiro/core/../gtk/window.cpp:424:3: error: 'gtk_widget_set_visible' was not declared in this scope 424 | gtk_widget_set_visible(widget, visible); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_append(hiro::mWidget&)': ../hiro/core/../gtk/window.cpp:433:18: error: 'struct hiro::pWidget' has no member named 'gtkParent' 433 | pWidget->gtkParent = instance->container(widget); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:433:40: error: 'struct hiro::pWidget' has no member named 'container' 433 | pWidget->gtkParent = instance->container(widget); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:436:16: error: 'struct hiro::pWidget' has no member named 'gtkParent' 436 | pWidget->gtkParent = formContainer; | ^~~~~~~~~ ../ruby/video/glx2.cpp:217:5: error: 'XWindowAttributes' was not declared in this scope 217 | XWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:436:28: error: 'formContainer' was not declared in this scope 436 | pWidget->gtkParent = formContainer; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:438:17: error: 'struct hiro::pWidget' has no member named 'gtkParent' 438 | if(pWidget->gtkParent) { | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:439:40: error: 'struct hiro::pWidget' has no member named 'gtkParent' 439 | gtk_fixed_put(GTK_FIXED(pWidget->gtkParent), pWidget->gtkWidget, 0, 0); | ^~~~~~~~~ ../ruby/video/glx2.cpp:218:36: error: 'RootWindow' was not declared in this scope 218 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:218:36: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../hiro/core/../gtk/window.cpp:439:21: error: 'GTK_FIXED' was not declared in this scope; did you mean 'MAP_FIXED'? 439 | gtk_fixed_put(GTK_FIXED(pWidget->gtkParent), pWidget->gtkWidget, 0, 0); | ^~~~~~~~~ | MAP_FIXED ../hiro/core/../gtk/window.cpp:439:61: error: 'struct hiro::pWidget' has no member named 'gtkWidget'; did you mean 'pWidget'? 439 | gtk_fixed_put(GTK_FIXED(pWidget->gtkParent), pWidget->gtkWidget, 0, 0); | ^~~~~~~~~ | pWidget ../ruby/video/glx2.cpp:218:68: error: 'attributes' was not declared in this scope 218 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:439:7: error: 'gtk_fixed_put' was not declared in this scope 439 | gtk_fixed_put(GTK_FIXED(pWidget->gtkParent), pWidget->gtkWidget, 0, 0); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_append(hiro::mMenu&)': ../hiro/core/../gtk/window.cpp:446:42: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 446 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), pMenu->widget); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:218:5: error: 'XGetWindowAttributes' was not declared in this scope 218 | XGetWindowAttributes(_display, RootWindow(_display, _screen), &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:446:27: error: 'GTK_MENU_SHELL' was not declared in this scope 446 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), pMenu->widget); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:446:59: error: 'struct hiro::pMenu' has no member named 'widget' 446 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), pMenu->widget); | ^~~~~~ ../ruby/video/glx2.cpp: In member function 'void VideoGLX2::destruct()': ../ruby/video/glx2.cpp:224:19: error: '_display' was not declared in this scope 224 | XCloseDisplay(_display); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:446:5: error: 'gtk_menu_shell_append' was not declared in this scope 446 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), pMenu->widget); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'bool hiro::pWindow::_setIcon(const nall::string&)': ../hiro/core/../gtk/window.cpp:474:46: error: 'widget' was not declared in this scope; did you mean 'Widget'? 474 | gtk_window_set_icon_from_file(GTK_WINDOW(widget), filename, nullptr); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:474:35: error: 'GTK_WINDOW' was not declared in this scope 474 | gtk_window_set_icon_from_file(GTK_WINDOW(widget), filename, nullptr); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:474:5: error: 'gtk_window_set_icon_from_file' was not declared in this scope 474 | gtk_window_set_icon_from_file(GTK_WINDOW(widget), filename, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:224:5: error: 'XCloseDisplay' was not declared in this scope 224 | XCloseDisplay(_display); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:483:19: error: 'CreatePixbuf' was not declared in this scope 483 | auto pixbuf = CreatePixbuf(icon); | ^~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'bool VideoGLX2::initialize()': ../ruby/video/glx2.cpp:232:21: error: '_display' was not declared in this scope 232 | glXQueryVersion(_display, &versionMajor, &versionMinor); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:484:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 484 | gtk_window_set_icon(GTK_WINDOW(widget), pixbuf); | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:484:25: error: 'GTK_WINDOW' was not declared in this scope 484 | gtk_window_set_icon(GTK_WINDOW(widget), pixbuf); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:232:5: error: 'glXQueryVersion' was not declared in this scope 232 | glXQueryVersion(_display, &versionMajor, &versionMinor); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:484:5: error: 'gtk_window_set_icon' was not declared in this scope 484 | gtk_window_set_icon(GTK_WINDOW(widget), pixbuf); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:485:20: error: 'G_OBJECT' was not declared in this scope 485 | g_object_unref(G_OBJECT(pixbuf)); | ^~~~~~~~ ../ruby/video/glx2.cpp:240:7: error: 'GLX_DRAWABLE_TYPE' was not declared in this scope 240 | GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:485:5: error: 'g_object_unref' was not declared in this scope 485 | g_object_unref(G_OBJECT(pixbuf)); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setMenuEnabled(bool)': ../hiro/core/../gtk/window.cpp:493:28: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 493 | gtk_widget_set_sensitive(gtkMenu, enabled); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:240:26: error: 'GLX_WINDOW_BIT' was not declared in this scope 240 | GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:493:3: error: 'gtk_widget_set_sensitive' was not declared in this scope 493 | gtk_widget_set_sensitive(gtkMenu, enabled); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:241:7: error: 'GLX_RENDER_TYPE' was not declared in this scope 241 | GLX_RENDER_TYPE, GLX_RGBA_BIT, | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setMenuFont(const hiro::Font&)': ../hiro/core/../gtk/window.cpp:497:18: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 497 | pFont::setFont(gtkMenu, font); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:241:24: error: 'GLX_RGBA_BIT' was not declared in this scope 241 | GLX_RENDER_TYPE, GLX_RGBA_BIT, | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setMenuVisible(bool)': ../hiro/core/../gtk/window.cpp:501:26: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 501 | gtk_widget_set_visible(gtkMenu, visible); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:242:7: error: 'GLX_DOUBLEBUFFER' was not declared in this scope 242 | GLX_DOUBLEBUFFER, True, | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:501:3: error: 'gtk_widget_set_visible' was not declared in this scope 501 | gtk_widget_set_visible(gtkMenu, visible); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:242:25: error: 'True' was not declared in this scope 242 | GLX_DOUBLEBUFFER, True, | ^~~~ ../ruby/video/glx2.cpp:242:25: note: the macro 'True' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:80: note: it was later defined here 80 | #define True 1 | ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setStatusEnabled(bool)': ../hiro/core/../gtk/window.cpp:505:28: error: 'gtkStatus' was not declared in this scope 505 | gtk_widget_set_sensitive(gtkStatus, enabled); | ^~~~~~~~~ ../ruby/video/glx2.cpp:243:7: error: 'GLX_RED_SIZE' was not declared in this scope 243 | GLX_RED_SIZE, redDepth, | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:505:3: error: 'gtk_widget_set_sensitive' was not declared in this scope 505 | gtk_widget_set_sensitive(gtkStatus, enabled); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setStatusFont(const hiro::Font&)': ../hiro/core/../gtk/window.cpp:509:18: error: 'gtkStatus' was not declared in this scope 509 | pFont::setFont(gtkStatus, font); | ^~~~~~~~~ ../ruby/video/glx2.cpp:244:7: error: 'GLX_GREEN_SIZE' was not declared in this scope 244 | GLX_GREEN_SIZE, greenDepth, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setStatusText(const nall::string&)': ../hiro/core/../gtk/window.cpp:513:35: error: 'gtkStatus' was not declared in this scope 513 | gtk_statusbar_pop(GTK_STATUSBAR(gtkStatus), 1); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:513:21: error: 'GTK_STATUSBAR' was not declared in this scope 513 | gtk_statusbar_pop(GTK_STATUSBAR(gtkStatus), 1); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:245:7: error: 'GLX_BLUE_SIZE' was not declared in this scope 245 | GLX_BLUE_SIZE, blueDepth, | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:246:7: error: 'None' was not declared in this scope 246 | None | ^~~~ ../ruby/video/glx2.cpp:246:7: note: the macro 'None' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:115: note: it was later defined here 115 | #define None 0L /* universal null resource or null atom */ | ../hiro/core/../gtk/window.cpp:513:3: error: 'gtk_statusbar_pop' was not declared in this scope 513 | gtk_statusbar_pop(GTK_STATUSBAR(gtkStatus), 1); | ^~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:250:21: error: 'glXChooseFBConfig' was not declared in this scope 250 | auto fbConfig = glXChooseFBConfig(_display, _screen, attributeList, &fbCount); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:514:3: error: 'gtk_statusbar_push' was not declared in this scope 514 | gtk_statusbar_push(GTK_STATUSBAR(gtkStatus), 1, text); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:253:19: error: 'glXGetVisualFromFBConfig' was not declared in this scope 253 | auto visual = glXGetVisualFromFBConfig(_display, fbConfig[0]); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:255:5: error: '_parent' was not declared in this scope 255 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_setStatusVisible(bool)': ../hiro/core/../gtk/window.cpp:518:26: error: 'gtkStatus' was not declared in this scope 518 | gtk_widget_set_visible(gtkStatus, visible); | ^~~~~~~~~ ../ruby/video/glx2.cpp:255:33: error: 'RootWindow' was not declared in this scope 255 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~~~~~ ../ruby/video/glx2.cpp:255:33: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../ruby/video/glx2.cpp:255:73: error: 'Window' was not declared in this scope 255 | _parent = self.fullScreen ? RootWindow(_display, visual->screen) : (Window)self.context; | ^~~~~~ ../hiro/core/../gtk/window.cpp:518:3: error: 'gtk_widget_set_visible' was not declared in this scope 518 | gtk_widget_set_visible(gtkStatus, visible); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_synchronizeGeometry()': ../hiro/core/../gtk/window.cpp:546:31: error: 'widget' was not declared in this scope; did you mean 'Widget'? 546 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:256:5: error: 'XWindowAttributes' was not declared in this scope 256 | XWindowAttributes windowAttributes; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:546:7: error: 'gtk_widget_get_realized' was not declared in this scope 546 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:547:30: error: 'widget' was not declared in this scope; did you mean 'Widget'? 547 | if(!gtk_widget_get_visible(widget)) return; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:257:46: error: 'windowAttributes' was not declared in this scope 257 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:547:7: error: 'gtk_widget_get_visible' was not declared in this scope 547 | if(!gtk_widget_get_visible(widget)) return; | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:551:3: error: 'GtkAllocation' was not declared in this scope 551 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:552:29: error: 'widget' was not declared in this scope; did you mean 'Widget'? 552 | gtk_widget_get_allocation(widget, &allocation); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:257:5: error: 'XGetWindowAttributes' was not declared in this scope 257 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:552:38: error: 'allocation' was not declared in this scope 552 | gtk_widget_get_allocation(widget, &allocation); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:265:5: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 265 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/window.cpp:552:3: error: 'gtk_widget_get_allocation' was not declared in this scope 552 | gtk_widget_get_allocation(widget, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:265:97: error: 'AllocNone' was not declared in this scope 265 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~ ../ruby/video/glx2.cpp:265:97: note: the macro 'AllocNone' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:616: note: it was later defined here 616 | #define AllocNone 0 /* create map with no entries */ | ../hiro/core/../gtk/window.cpp:555:26: error: 'lastSize' was not declared in this scope 555 | if(allocation.width != lastSize.width || allocation.height != lastSize.height) { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:557:29: error: no matching function for call to 'hiro::Geometry::setSize(<brace-enclosed initializer list>)' 557 | state().geometry.setSize({allocation.width, allocation.height}); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/core.hpp:271:8: note: candidate: 'hiro::Geometry::type& hiro::Geometry::setSize(hiro::Size)' 271 | auto setSize(Size size = {}) -> type&; | ^~~~~~~ ../hiro/core/core.hpp:271:21: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'hiro::Size' 271 | auto setSize(Size size = {}) -> type&; | ~~~~~^~~~~~~~~ ../hiro/core/core.hpp:272:8: note: candidate: 'hiro::Geometry::type& hiro::Geometry::setSize(float, float)' 272 | auto setSize(float width, float height) -> type&; | ^~~~~~~ ../hiro/core/core.hpp:272:8: note: candidate expects 2 arguments, 1 provided ../hiro/core/../gtk/window.cpp:566:18: error: expected ';' before 'rectangle' 566 | GtkAllocation rectangle; | ^~~~~~~~~~ | ; ../ruby/video/glx2.cpp:265:17: error: 'XCreateColormap' was not declared in this scope; did you mean 'XNStdColormap'? 265 | _colormap = XCreateColormap(_display, RootWindow(_display, visual->screen), visual->visual, AllocNone); | ^~~~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/window.cpp:567:40: error: 'rectangle' was not declared in this scope 567 | gtk_widget_get_allocation(widget, &rectangle); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:568:27: error: 'G_OBJECT' was not declared in this scope 568 | g_signal_emit_by_name(G_OBJECT(widget), "size-allocate", &rectangle, (gpointer)this, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:568:75: error: 'gpointer' was not declared in this scope 568 | g_signal_emit_by_name(G_OBJECT(widget), "size-allocate", &rectangle, (gpointer)this, nullptr); | ^~~~~~~~ ../ruby/video/glx2.cpp:266:5: error: 'XSetWindowAttributes' was not declared in this scope 266 | XSetWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:267:5: error: 'attributes' was not declared in this scope; did you mean 'attributeList'? 267 | attributes.border_pixel = 0; | ^~~~~~~~~~ | attributeList ../ruby/video/glx2.cpp:270:5: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 270 | _window = XCreateWindow(_display, _parent, | ^~~~~~~ | BadWindow ../hiro/core/../gtk/window.cpp:568:5: error: 'g_signal_emit_by_name' was not declared in this scope 568 | g_signal_emit_by_name(G_OBJECT(widget), "size-allocate", &rectangle, (gpointer)this, nullptr); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:570:3: error: 'lastSize' was not declared in this scope 570 | lastSize = allocation; | ^~~~~~~~ ../ruby/video/glx2.cpp:272:25: error: 'InputOutput' was not declared in this scope 272 | 0, visual->depth, InputOutput, visual->visual, | ^~~~~~~~~~~ ../ruby/video/glx2.cpp:272:25: note: the macro 'InputOutput' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:387: note: it was later defined here 387 | #define InputOutput 1 | ../ruby/video/glx2.cpp:273:7: error: 'CWBorderPixel' was not declared in this scope 273 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:273:7: note: the macro 'CWBorderPixel' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:395: note: it was later defined here 395 | #define CWBorderPixel (1L<<3) | ../hiro/core/../gtk/window.cpp:572:20: error: 'gtk_widget_get_window' was not declared in this scope 572 | auto gdkWindow = gtk_widget_get_window(widget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:273:23: error: 'CWColormap' was not declared in this scope 273 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:273:23: note: the macro 'CWColormap' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:405: note: it was later defined here 405 | #define CWColormap (1L<<13) | ../hiro/core/../gtk/window.cpp:573:3: error: 'gdk_window_get_origin' was not declared in this scope 573 | gdk_window_get_origin(gdkWindow, &allocation.x, &allocation.y); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:273:36: error: 'CWOverrideRedirect' was not declared in this scope 273 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:273:36: note: the macro 'CWOverrideRedirect' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:401: note: it was later defined here 401 | #define CWOverrideRedirect (1L<<9) | ../hiro/core/../gtk/window.cpp:575:22: error: 'lastMove' was not declared in this scope 575 | if(allocation.x != lastMove.x || allocation.y != lastMove.y) { | ^~~~~~~~ ../hiro/core/../gtk/window.cpp:576:33: error: no matching function for call to 'hiro::Geometry::setPosition(<brace-enclosed initializer list>)' 576 | state().geometry.setPosition({allocation.x, allocation.y}); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/core.hpp:269:8: note: candidate: 'hiro::Geometry::type& hiro::Geometry::setPosition(hiro::Position)' 269 | auto setPosition(Position position = {}) -> type&; | ^~~~~~~~~~~ ../hiro/core/core.hpp:269:29: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'hiro::Position' 269 | auto setPosition(Position position = {}) -> type&; | ~~~~~~~~~^~~~~~~~~~~~~ ../hiro/core/core.hpp:270:8: note: candidate: 'hiro::Geometry::type& hiro::Geometry::setPosition(float, float)' 270 | auto setPosition(float x, float y) -> type&; | ^~~~~~~~~~~ ../hiro/core/core.hpp:270:8: note: candidate expects 2 arguments, 1 provided ../ruby/video/glx2.cpp:270:15: error: 'XCreateWindow' was not declared in this scope 270 | _window = XCreateWindow(_display, _parent, | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:579:3: error: 'lastMove' was not declared in this scope 579 | lastMove = allocation; | ^~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_synchronizeMargin()': ../hiro/core/../gtk/window.cpp:586:31: error: 'widget' was not declared in this scope; did you mean 'Widget'? 586 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:274:37: error: 'ExposureMask' was not declared in this scope 274 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../ruby/video/glx2.cpp:274:37: note: the macro 'ExposureMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:166: note: it was later defined here 166 | #define ExposureMask (1L<<15) | ../hiro/core/../gtk/window.cpp:586:7: error: 'gtk_widget_get_realized' was not declared in this scope 586 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:274:5: error: 'XSelectInput' was not declared in this scope 274 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:587:30: error: 'widget' was not declared in this scope; did you mean 'Widget'? 587 | if(!gtk_widget_get_visible(widget)) return; | ^~~~~~ | Widget ../hiro/core/../gtk/window.cpp:587:7: error: 'gtk_widget_get_visible' was not declared in this scope 587 | if(!gtk_widget_get_visible(widget)) return; | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:275:5: error: 'XSetWindowBackground' was not declared in this scope 275 | XSetWindowBackground(_display, _window, 0); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:590:39: error: 'widget' was not declared in this scope; did you mean 'Widget'? 590 | auto window = gtk_widget_get_window(widget); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:276:5: error: 'XMapWindow' was not declared in this scope; did you mean 'BadWindow'? 276 | XMapWindow(_display, _window); | ^~~~~~~~~~ | BadWindow ../ruby/video/glx2.cpp:277:5: error: 'XFlush' was not declared in this scope; did you mean 'flush'? 277 | XFlush(_display); | ^~~~~~ | flush ../hiro/core/../gtk/window.cpp:590:17: error: 'gtk_widget_get_window' was not declared in this scope 590 | auto window = gtk_widget_get_window(widget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:279:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 279 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/window.cpp:591:3: error: 'GdkRectangle' was not declared in this scope 591 | GdkRectangle border, client; | ^~~~~~~~~~~~ ../ruby/video/glx2.cpp:280:7: error: 'XEvent' was not declared in this scope 280 | XEvent event; | ^~~~~~ ../ruby/video/glx2.cpp:281:29: error: 'event' was not declared in this scope; did you mean 'servent'? 281 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/window.cpp:592:41: error: 'border' was not declared in this scope 592 | gdk_window_get_frame_extents(window, &border); | ^~~~~~ ../ruby/video/glx2.cpp:281:7: error: 'XNextEvent' was not declared in this scope 281 | XNextEvent(_display, &event); | ^~~~~~~~~~ ../hiro/core/../gtk/window.cpp:592:3: error: 'gdk_window_get_frame_extents' was not declared in this scope 592 | gdk_window_get_frame_extents(window, &border); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:593:34: error: 'client' was not declared in this scope 593 | gdk_window_get_origin(window, &client.x, &client.y); | ^~~~~~ ../ruby/video/glx2.cpp:284:5: error: '_glXContext' was not declared in this scope 284 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~~~~~ ../ruby/video/glx2.cpp:284:57: error: 'GL_TRUE' was not declared in this scope; did you mean 'AL_TRUE'? 284 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~ | AL_TRUE ../hiro/core/../gtk/window.cpp:593:3: error: 'gdk_window_get_origin' was not declared in this scope 593 | gdk_window_get_origin(window, &client.x, &client.y); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:284:19: error: 'glXCreateContext' was not declared in this scope 284 | _glXContext = glXCreateContext(_display, visual, 0, GL_TRUE); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:597:3: error: 'gdk_window_get_geometry' was not declared in this scope 597 | gdk_window_get_geometry(window, nullptr, nullptr, &client.width, &client.height); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:285:30: error: '_glXWindow' was not declared in this scope; did you mean '_glWidth'? 285 | glXMakeCurrent(_display, _glXWindow = _window, _glXContext); | ^~~~~~~~~~ | _glWidth ../ruby/video/glx2.cpp:285:5: error: 'glXMakeCurrent' was not declared in this scope 285 | glXMakeCurrent(_display, _glXWindow = _window, _glXContext); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:605:29: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 605 | if(gtk_widget_get_visible(gtkMenu)) { | ^~~~~~~ | wMenu ../hiro/core/../gtk/window.cpp:605:6: error: 'gtk_widget_get_visible' was not declared in this scope 605 | if(gtk_widget_get_visible(gtkMenu)) { | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:606:5: error: 'GtkAllocation' was not declared in this scope 606 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:287:58: error: 'glGetProcAddress' was not declared in this scope 287 | if(!glXSwapInterval) glXSwapInterval = (int (*)(int))glGetProcAddress("glXSwapIntervalMESA"); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:609:43: error: 'allocation' was not declared in this scope 609 | gtk_widget_get_allocation(gtkMenu, &allocation); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:288:58: error: 'glGetProcAddress' was not declared in this scope 288 | if(!glXSwapInterval) glXSwapInterval = (int (*)(int))glGetProcAddress("glXSwapIntervalSGI"); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:609:7: error: 'gtk_widget_get_allocation' was not declared in this scope 609 | gtk_widget_get_allocation(gtkMenu, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:617:29: error: 'gtkStatus' was not declared in this scope 617 | if(gtk_widget_get_visible(gtkStatus)) { | ^~~~~~~~~ ../ruby/video/glx2.cpp:293:5: error: 'glXGetConfig' was not declared in this scope; did you mean 'getnetconfig'? 293 | glXGetConfig(_display, visual, GLX_DOUBLEBUFFER, &value); | ^~~~~~~~~~~~ | getnetconfig ../hiro/core/../gtk/window.cpp:617:6: error: 'gtk_widget_get_visible' was not declared in this scope 617 | if(gtk_widget_get_visible(gtkStatus)) { | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:618:5: error: 'GtkAllocation' was not declared in this scope 618 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:295:17: error: 'glXIsDirect' was not declared in this scope; did you mean '_isDirect'? 295 | _isDirect = glXIsDirect(_display, _glXContext); | ^~~~~~~~~~~ | _isDirect ../hiro/core/../gtk/window.cpp:621:45: error: 'allocation' was not declared in this scope 621 | gtk_widget_get_allocation(gtkStatus, &allocation); | ^~~~~~~~~~ ../ruby/video/glx2.cpp:297:15: error: 'GL_ALPHA_TEST' was not declared in this scope 297 | glDisable(GL_ALPHA_TEST); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp:621:7: error: 'gtk_widget_get_allocation' was not declared in this scope 621 | gtk_widget_get_allocation(gtkStatus, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/window.cpp: In member function 'void hiro::pWindow::_synchronizeState()': ../hiro/core/../gtk/window.cpp:637:31: error: 'widget' was not declared in this scope; did you mean 'Widget'? 637 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:297:5: error: 'glDisable' was not declared in this scope 297 | glDisable(GL_ALPHA_TEST); | ^~~~~~~~~ ../hiro/core/../gtk/window.cpp:637:7: error: 'gtk_widget_get_realized' was not declared in this scope 637 | if(!gtk_widget_get_realized(widget)) return; | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:298:15: error: 'GL_BLEND' was not declared in this scope 298 | glDisable(GL_BLEND); | ^~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:19: ../hiro/core/../gtk/popup-menu.cpp: In member function 'virtual void hiro::pPopupMenu::construct()': ../hiro/core/../gtk/popup-menu.cpp:6:3: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 6 | gtkMenu = gtk_menu_new(); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:299:15: error: 'GL_DEPTH_TEST' was not declared in this scope 299 | glDisable(GL_DEPTH_TEST); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:6:13: error: 'gtk_menu_new' was not declared in this scope 6 | gtkMenu = gtk_menu_new(); | ^~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp: In member function 'virtual void hiro::pPopupMenu::destruct()': ../hiro/core/../gtk/popup-menu.cpp:10:22: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 10 | gtk_widget_destroy(gtkMenu); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:300:15: error: 'GL_POLYGON_SMOOTH' was not declared in this scope 300 | glDisable(GL_POLYGON_SMOOTH); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:10:3: error: 'gtk_widget_destroy' was not declared in this scope 10 | gtk_widget_destroy(gtkMenu); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp: In member function 'void hiro::pPopupMenu::append(hiro::sAction)': ../hiro/core/../gtk/popup-menu.cpp:15:42: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 15 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~ | wMenu ../ruby/video/glx2.cpp:301:15: error: 'GL_STENCIL_TEST' was not declared in this scope 301 | glDisable(GL_STENCIL_TEST); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:15:27: error: 'GTK_MENU_SHELL' was not declared in this scope 15 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:15:68: error: 'struct hiro::pAction' has no member named 'widget' 15 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~ ../ruby/video/glx2.cpp:303:14: error: 'GL_DITHER' was not declared in this scope 303 | glEnable(GL_DITHER); | ^~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:15:5: error: 'gtk_menu_shell_append' was not declared in this scope 15 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:303:5: error: 'glEnable' was not declared in this scope 303 | glEnable(GL_DITHER); | ^~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp: In member function 'virtual void hiro::pPopupMenu::setVisible(bool)': ../hiro/core/../gtk/popup-menu.cpp:31:39: error: 'gtkMenu' was not declared in this scope; did you mean 'wMenu'? 31 | if(visible) gtk_menu_popup(GTK_MENU(gtkMenu), nullptr, nullptr, nullptr, nullptr, 0, gtk_get_current_event_time()); | ^~~~~~~ | wMenu ../hiro/core/../gtk/popup-menu.cpp:31:30: error: 'GTK_MENU' was not declared in this scope 31 | if(visible) gtk_menu_popup(GTK_MENU(gtkMenu), nullptr, nullptr, nullptr, nullptr, 0, gtk_get_current_event_time()); | ^~~~~~~~ ../ruby/video/glx2.cpp:304:14: error: 'GL_TEXTURE_2D' was not declared in this scope 304 | glEnable(GL_TEXTURE_2D); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/popup-menu.cpp:31:88: error: 'gtk_get_current_event_time' was not declared in this scope 31 | if(visible) gtk_menu_popup(GTK_MENU(gtkMenu), nullptr, nullptr, nullptr, nullptr, 0, gtk_get_current_event_time()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp: In member function 'void VideoGLX2::terminate()': ../ruby/video/glx2.cpp:313:8: error: '_glTexture' was not declared in this scope; did you mean 'OpenGLTexture'? 313 | if(_glTexture) { | ^~~~~~~~~~ | OpenGLTexture ../hiro/core/../gtk/popup-menu.cpp:31:15: error: 'gtk_menu_popup' was not declared in this scope 31 | if(visible) gtk_menu_popup(GTK_MENU(gtkMenu), nullptr, nullptr, nullptr, nullptr, 0, gtk_get_current_event_time()); | ^~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:21: ../hiro/core/../gtk/action/action.cpp: In member function 'virtual void hiro::pAction::setEnabled(bool)': ../hiro/core/../gtk/action/action.cpp:12:28: error: 'widget' was not declared in this scope; did you mean 'Widget'? 12 | gtk_widget_set_sensitive(widget, enabled); | ^~~~~~ | Widget ../hiro/core/../gtk/action/action.cpp:12:3: error: 'gtk_widget_set_sensitive' was not declared in this scope 12 | gtk_widget_set_sensitive(widget, enabled); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:314:7: error: 'glDeleteTextures' was not declared in this scope 314 | glDeleteTextures(1, &_glTexture); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/action.cpp: In member function 'virtual void hiro::pAction::setFont(const hiro::Font&)': ../hiro/core/../gtk/action/action.cpp:16:18: error: 'widget' was not declared in this scope; did you mean 'Widget'? 16 | pFont::setFont(widget, font); | ^~~~~~ | Widget ../hiro/core/../gtk/action/action.cpp: In member function 'virtual void hiro::pAction::setVisible(bool)': ../hiro/core/../gtk/action/action.cpp:20:26: error: 'widget' was not declared in this scope; did you mean 'Widget'? 20 | gtk_widget_set_visible(widget, visible); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:326:8: error: '_glXContext' was not declared in this scope 326 | if(_glXContext) { | ^~~~~~~~~~~ ../hiro/core/../gtk/action/action.cpp:20:3: error: 'gtk_widget_set_visible' was not declared in this scope 20 | gtk_widget_set_visible(widget, visible); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:22: ../hiro/core/../gtk/action/menu.cpp: In member function 'virtual void hiro::pMenu::construct()': ../hiro/core/../gtk/action/menu.cpp:6:3: error: 'gtkMenu' was not declared in this scope; did you mean 'pMenu'? 6 | gtkMenu = gtk_menu_new(); | ^~~~~~~ | pMenu ../ruby/video/glx2.cpp:327:25: error: '_display' was not declared in this scope 327 | glXDestroyContext(_display, _glXContext); | ^~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:6:13: error: 'gtk_menu_new' was not declared in this scope 6 | gtkMenu = gtk_menu_new(); | ^~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:7:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 7 | widget = gtk_image_menu_item_new_with_mnemonic(""); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:327:7: error: 'glXDestroyContext' was not declared in this scope 327 | glXDestroyContext(_display, _glXContext); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:7:12: error: 'gtk_image_menu_item_new_with_mnemonic' was not declared in this scope 7 | widget = gtk_image_menu_item_new_with_mnemonic(""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:331:8: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 331 | if(_window) { | ^~~~~~~ | BadWindow ../ruby/video/glx2.cpp:332:20: error: '_display' was not declared in this scope 332 | XUnmapWindow(_display, _window); | ^~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:8:29: error: 'GTK_MENU_ITEM' was not declared in this scope 8 | gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), gtkMenu); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:8:3: error: 'gtk_menu_item_set_submenu' was not declared in this scope 8 | gtk_menu_item_set_submenu(GTK_MENU_ITEM(widget), gtkMenu); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp: In member function 'virtual void hiro::pMenu::destruct()': ../hiro/core/../gtk/action/menu.cpp:16:22: error: 'gtkMenu' was not declared in this scope; did you mean 'pMenu'? 16 | gtk_widget_destroy(gtkMenu); | ^~~~~~~ | pMenu ../ruby/video/glx2.cpp:332:7: error: 'XUnmapWindow' was not declared in this scope 332 | XUnmapWindow(_display, _window); | ^~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:16:3: error: 'gtk_widget_destroy' was not declared in this scope 16 | gtk_widget_destroy(gtkMenu); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:17:22: error: 'widget' was not declared in this scope; did you mean 'Widget'? 17 | gtk_widget_destroy(widget); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:336:8: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 336 | if(_colormap) { | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/action/menu.cpp: In member function 'void hiro::pMenu::append(hiro::sAction)': ../hiro/core/../gtk/action/menu.cpp:22:42: error: 'gtkMenu' was not declared in this scope; did you mean 'pMenu'? 22 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~ | pMenu ../hiro/core/../gtk/action/menu.cpp:22:27: error: 'GTK_MENU_SHELL' was not declared in this scope 22 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:22:68: error: 'struct hiro::pAction' has no member named 'widget' 22 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~ ../ruby/video/glx2.cpp:337:21: error: '_display' was not declared in this scope 337 | XFreeColormap(_display, _colormap); | ^~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:22:5: error: 'gtk_menu_shell_append' was not declared in this scope 22 | gtk_menu_shell_append(GTK_MENU_SHELL(gtkMenu), action->self()->widget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:337:7: error: 'XFreeColormap' was not declared in this scope; did you mean 'XNStdColormap'? 337 | XFreeColormap(_display, _colormap); | ^~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/action/menu.cpp: In member function 'void hiro::pMenu::setIcon(const nall::image&)': ../hiro/core/../gtk/action/menu.cpp:41:5: error: 'GtkImage' was not declared in this scope 41 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:41:15: error: 'gtkImage' was not declared in this scope 41 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~ ../ruby/video/glx2.cpp: In member function 'void VideoGLX2::resize(uint, uint)': ../ruby/video/glx2.cpp:346:8: error: '_glTexture' was not declared in this scope; did you mean 'OpenGLTexture'? 346 | if(_glTexture == 0) glGenTextures(1, &_glTexture); | ^~~~~~~~~~ | OpenGLTexture ../hiro/core/../gtk/action/menu.cpp:41:26: error: 'CreateImage' was not declared in this scope 41 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~~~~ ../ruby/video/glx2.cpp:346:25: error: 'glGenTextures' was not declared in this scope 346 | if(_glTexture == 0) glGenTextures(1, &_glTexture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:42:55: error: 'widget' was not declared in this scope; did you mean 'Widget'? 42 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:352:19: error: 'GL_TEXTURE_2D' was not declared in this scope 352 | glBindTexture(GL_TEXTURE_2D, _glTexture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:42:35: error: 'GTK_IMAGE_MENU_ITEM' was not declared in this scope 42 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:42:65: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 42 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/action/menu.cpp:42:75: error: expected primary-expression before ')' token 42 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^ ../ruby/video/glx2.cpp:352:34: error: '_glTexture' was not declared in this scope; did you mean 'OpenGLTexture'? 352 | glBindTexture(GL_TEXTURE_2D, _glTexture); | ^~~~~~~~~~ | OpenGLTexture ../hiro/core/../gtk/action/menu.cpp:42:5: error: 'gtk_image_menu_item_set_image' was not declared in this scope 42 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:44:55: error: 'widget' was not declared in this scope; did you mean 'Widget'? 44 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~ | Widget ../hiro/core/../gtk/action/menu.cpp:44:35: error: 'GTK_IMAGE_MENU_ITEM' was not declared in this scope 44 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:352:5: error: 'glBindTexture' was not declared in this scope 352 | glBindTexture(GL_TEXTURE_2D, _glTexture); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:44:5: error: 'gtk_image_menu_item_set_image' was not declared in this scope 44 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp: In member function 'void hiro::pMenu::setText(const nall::string&)': ../hiro/core/../gtk/action/menu.cpp:49:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 49 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~ | Widget ../hiro/core/../gtk/action/menu.cpp:49:27: error: 'GTK_MENU_ITEM' was not declared in this scope 49 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~ ../ruby/video/glx2.cpp:353:19: error: 'GL_UNPACK_ROW_LENGTH' was not declared in this scope 353 | glPixelStorei(GL_UNPACK_ROW_LENGTH, _glWidth); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu.cpp:49:3: error: 'gtk_menu_item_set_label' was not declared in this scope 49 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/glx2.cpp:353:5: error: 'glPixelStorei' was not declared in this scope 353 | glPixelStorei(GL_UNPACK_ROW_LENGTH, _glWidth); | ^~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:23: ../hiro/core/../gtk/action/menu-separator.cpp: In member function 'virtual void hiro::pMenuSeparator::construct()': ../hiro/core/../gtk/action/menu-separator.cpp:6:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 6 | widget = gtk_separator_menu_item_new(); | ^~~~~~ | Widget ../ruby/video/glx2.cpp:354:36: error: 'GL_RGBA' was not declared in this scope 354 | glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _glWidth, _glHeight, 0, GL_BGRA, _glFormat, _glBuffer); | ^~~~~~~ ../hiro/core/../gtk/action/menu-separator.cpp:6:12: error: 'gtk_separator_menu_item_new' was not declared in this scope 6 | widget = gtk_separator_menu_item_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-separator.cpp: In member function 'virtual void hiro::pMenuSeparator::destruct()': ../hiro/core/../gtk/action/menu-separator.cpp:10:6: error: 'widget' was not declared in this scope; did you mean 'Widget'? 10 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~ | Widget ../ruby/video/glx2.cpp:354:69: error: 'GL_BGRA' was not declared in this scope 354 | glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _glWidth, _glHeight, 0, GL_BGRA, _glFormat, _glBuffer); | ^~~~~~~ ../hiro/core/../gtk/action/menu-separator.cpp:10:14: error: 'gtk_widget_destroy' was not declared in this scope 10 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:24: ../hiro/core/../gtk/action/menu-item.cpp: At global scope: ../hiro/core/../gtk/action/menu-item.cpp:5:31: error: 'GtkMenuItem' was not declared in this scope; did you mean 'wMenuItem'? 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^~~~~~~~~~~ | wMenuItem ../hiro/core/../gtk/action/menu-item.cpp:5:43: error: expected primary-expression before ',' token 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-item.cpp:5:54: error: expected primary-expression before '*' token 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^ ../ruby/video/glx2.cpp:354:5: error: 'glTexImage2D' was not declared in this scope 354 | glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, _glWidth, _glHeight, 0, GL_BGRA, _glFormat, _glBuffer); | ^~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:5:56: error: 'p' was not declared in this scope 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-item.cpp:5:57: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-item.cpp:5:59: error: expected ',' or ';' before '->' token 5 | static auto MenuItem_activate(GtkMenuItem*, pMenuItem* p) -> void { | ^~ In file included from ../ruby/video/xshm.cpp:9, from ../ruby/video/video.cpp:30: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h: At global scope: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:41:5: error: 'Bool' does not name a type 41 | Bool send_event; /* true if this came from a SendEvent request */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:41:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | ../hiro/core/../gtk/action/menu-item.cpp: In member function 'virtual void hiro::pMenuItem::construct()': ../hiro/core/../gtk/action/menu-item.cpp:10:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 10 | widget = gtk_image_menu_item_new_with_mnemonic(""); | ^~~~~~ | Widget /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:42:5: error: 'Display' does not name a type 42 | Display *display; /* Display the event was read from */ | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:43:5: error: 'Drawable' does not name a type; did you mean 'BadDrawable'? 43 | Drawable drawable; /* drawable of request */ | ^~~~~~~~ | BadDrawable ../hiro/core/../gtk/action/menu-item.cpp:10:12: error: 'gtk_image_menu_item_new_with_mnemonic' was not declared in this scope 10 | widget = gtk_image_menu_item_new_with_mnemonic(""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:54:5: error: 'Bool' does not name a type 54 | Bool readOnly; /* how the server should attach it */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:54:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:59:1: error: 'Bool' does not name a type 59 | Bool XShmQueryExtension( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:59:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | ../hiro/core/../gtk/action/menu-item.cpp:11:20: error: 'G_OBJECT' was not declared in this scope 11 | g_signal_connect(G_OBJECT(widget), "activate", G_CALLBACK(MenuItem_activate), (gpointer)this); | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:64:5: error: 'Display' was not declared in this scope 64 | Display* /* dpy */ | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:65:1: error: expected primary-expression before ')' token 65 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:67:1: error: 'Bool' does not name a type 67 | Bool XShmQueryVersion( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:67:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:75:5: error: 'Display' was not declared in this scope 75 | Display* /* dpy */ | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:76:1: error: expected primary-expression before ')' token 76 | ); | ^ ../hiro/core/../gtk/action/menu-item.cpp:11:50: error: 'G_CALLBACK' was not declared in this scope 11 | g_signal_connect(G_OBJECT(widget), "activate", G_CALLBACK(MenuItem_activate), (gpointer)this); | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:78:1: error: 'Bool' does not name a type 78 | Bool XShmAttach( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:78:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:83:1: error: 'Bool' does not name a type 83 | Bool XShmDetach( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:83:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:88:1: error: 'Bool' does not name a type 88 | Bool XShmPutImage( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:88:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:102:1: error: 'Bool' does not name a type 102 | Bool XShmGetImage( | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:102:1: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:111:1: error: 'XImage' does not name a type 111 | XImage *XShmCreateImage( | ^~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:11:82: error: 'gpointer' was not declared in this scope 11 | g_signal_connect(G_OBJECT(widget), "activate", G_CALLBACK(MenuItem_activate), (gpointer)this); | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/XShm.h:122:1: error: 'Pixmap' does not name a type; did you mean 'ZPixmap'? 122 | Pixmap XShmCreatePixmap( | ^~~~~~ | ZPixmap ../ruby/video/xshm.cpp:277:28: error: 'Display' has not been declared 277 | static auto errorHandler(Display* display, XErrorEvent* event) -> int { | ^~~~~~~ ../ruby/video/xshm.cpp:277:46: error: 'XErrorEvent' has not been declared 277 | static auto errorHandler(Display* display, XErrorEvent* event) -> int { | ^~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:11:3: error: 'g_signal_connect' was not declared in this scope 11 | g_signal_connect(G_OBJECT(widget), "activate", G_CALLBACK(MenuItem_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp: In member function 'virtual void hiro::pMenuItem::destruct()': ../hiro/core/../gtk/action/menu-item.cpp:17:6: error: 'widget' was not declared in this scope; did you mean 'Widget'? 17 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~ | Widget ../ruby/video/xshm.cpp:289:3: error: 'Display' does not name a type 289 | Display* _display = nullptr; | ^~~~~~~ ../ruby/video/xshm.cpp:296:3: error: 'Visual' does not name a type 296 | Visual* _visual = nullptr; | ^~~~~~ ../ruby/video/xshm.cpp:297:3: error: 'Window' does not name a type 297 | Window _parent = 0; | ^~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:17:14: error: 'gtk_widget_destroy' was not declared in this scope 17 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp: In member function 'void hiro::pMenuItem::setIcon(const nall::image&)': ../hiro/core/../gtk/action/menu-item.cpp:22:5: error: 'GtkImage' was not declared in this scope 22 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:22:15: error: 'gtkImage' was not declared in this scope 22 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:22:26: error: 'CreateImage' was not declared in this scope 22 | GtkImage* gtkImage = CreateImage(icon, true); | ^~~~~~~~~~~ ../ruby/video/xshm.cpp:298:3: error: 'Window' does not name a type 298 | Window _window = 0; | ^~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:23:55: error: 'widget' was not declared in this scope; did you mean 'Widget'? 23 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:299:3: error: 'Colormap' does not name a type; did you mean 'CWColormap'? 299 | Colormap _colormap = 0; | ^~~~~~~~ | CWColormap ../ruby/video/xshm.cpp:302:3: error: 'XImage' does not name a type 302 | XImage* _image = nullptr; | ^~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:23:35: error: 'GTK_IMAGE_MENU_ITEM' was not declared in this scope 23 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:23:65: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 23 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/action/menu-item.cpp:23:75: error: expected primary-expression before ')' token 23 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^ ../hiro/core/../gtk/action/menu-item.cpp:23:5: error: 'gtk_image_menu_item_set_image' was not declared in this scope 23 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:25:55: error: 'widget' was not declared in this scope; did you mean 'Widget'? 25 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~ | Widget ../ruby/video/xshm.cpp: In member function 'virtual void VideoXShm::size(uint&, uint&)': ../ruby/video/xshm.cpp:50:7: error: 'XWindowAttributes' was not declared in this scope 50 | XWindowAttributes parent; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:25:35: error: 'GTK_IMAGE_MENU_ITEM' was not declared in this scope 25 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:25:5: error: 'gtk_image_menu_item_set_image' was not declared in this scope 25 | gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(widget), nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:51:28: error: '_display' was not declared in this scope 51 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp: In member function 'void hiro::pMenuItem::setText(const nall::string&)': ../hiro/core/../gtk/action/menu-item.cpp:30:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 30 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:51:38: error: '_parent' was not declared in this scope 51 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../ruby/video/xshm.cpp:51:48: error: 'parent' was not declared in this scope; did you mean 'dirent'? 51 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../hiro/core/../gtk/action/menu-item.cpp:30:27: error: 'GTK_MENU_ITEM' was not declared in this scope 30 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-item.cpp:30:3: error: 'gtk_menu_item_set_label' was not declared in this scope 30 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:25: ../hiro/core/../gtk/action/menu-check-item.cpp: At global scope: ../hiro/core/../gtk/action/menu-check-item.cpp:5:34: error: 'GtkCheckMenuItem' was not declared in this scope 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:51:7: error: 'XGetWindowAttributes' was not declared in this scope 51 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:5:52: error: 'gtkCheckMenuItem' was not declared in this scope 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:5:84: error: expected primary-expression before '*' token 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-check-item.cpp:5:86: error: 'p' was not declared in this scope 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-check-item.cpp:5:87: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-check-item.cpp:5:89: error: expected ',' or ';' before '->' token 5 | static auto MenuCheckItem_toggle(GtkCheckMenuItem* gtkCheckMenuItem, pMenuCheckItem* p) -> void { | ^~ ../hiro/core/../gtk/action/menu-check-item.cpp: In member function 'virtual void hiro::pMenuCheckItem::construct()': ../hiro/core/../gtk/action/menu-check-item.cpp:11:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 11 | widget = gtk_check_menu_item_new_with_mnemonic(""); | ^~~~~~ | Widget ../ruby/video/xshm.cpp: In member function 'virtual void VideoXShm::output(uint, uint)': ../ruby/video/xshm.cpp:74:5: error: 'XWindowAttributes' was not declared in this scope 74 | XWindowAttributes window; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:11:12: error: 'gtk_check_menu_item_new_with_mnemonic' was not declared in this scope 11 | widget = gtk_check_menu_item_new_with_mnemonic(""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:14:20: error: 'G_OBJECT' was not declared in this scope 14 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuCheckItem_toggle), (gpointer)this); | ^~~~~~~~ ../ruby/video/xshm.cpp:75:26: error: '_display' was not declared in this scope 75 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:14:49: error: 'G_CALLBACK' was not declared in this scope 14 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuCheckItem_toggle), (gpointer)this); | ^~~~~~~~~~ ../ruby/video/xshm.cpp:75:36: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 75 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~ | BadWindow ../hiro/core/../gtk/action/menu-check-item.cpp:14:84: error: 'gpointer' was not declared in this scope 14 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuCheckItem_toggle), (gpointer)this); | ^~~~~~~~ ../ruby/video/xshm.cpp:75:46: error: 'window' was not declared in this scope 75 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:14:3: error: 'g_signal_connect' was not declared in this scope 14 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuCheckItem_toggle), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp: In member function 'virtual void hiro::pMenuCheckItem::destruct()': ../hiro/core/../gtk/action/menu-check-item.cpp:18:22: error: 'widget' was not declared in this scope; did you mean 'Widget'? 18 | gtk_widget_destroy(widget); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:75:5: error: 'XGetWindowAttributes' was not declared in this scope 75 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:77:23: error: expected ';' before 'parent' 77 | XWindowAttributes parent; | ^~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:18:3: error: 'gtk_widget_destroy' was not declared in this scope 18 | gtk_widget_destroy(widget); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:78:36: error: '_parent' was not declared in this scope 78 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp: In member function 'void hiro::pMenuCheckItem::setChecked(bool)': ../hiro/core/../gtk/action/menu-check-item.cpp:28:54: error: 'widget' was not declared in this scope; did you mean 'Widget'? 28 | gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), checked); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:78:46: error: 'parent' was not declared in this scope; did you mean 'dirent'? 78 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | dirent ../hiro/core/../gtk/action/menu-check-item.cpp:28:34: error: 'GTK_CHECK_MENU_ITEM' was not declared in this scope 28 | gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), checked); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:83:7: error: 'XResizeWindow' was not declared in this scope 83 | XResizeWindow(_display, _window, _outputWidth, _outputHeight); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:28:3: error: 'gtk_check_menu_item_set_active' was not declared in this scope 28 | gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(widget), checked); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp: In member function 'void hiro::pMenuCheckItem::setText(const nall::string&)': ../hiro/core/../gtk/action/menu-check-item.cpp:33:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 33 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:99:9: error: '_image' was not declared in this scope 99 | if(!_image || !_inputBuffer || !_outputBuffer) return; | ^~~~~~ ../hiro/core/../gtk/action/menu-check-item.cpp:33:27: error: 'GTK_MENU_ITEM' was not declared in this scope 33 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~ ../ruby/video/xshm.cpp:150:5: error: 'GC' was not declared in this scope 150 | GC gc = XCreateGC(_display, _window, 0, 0); | ^~ ../ruby/video/xshm.cpp:151:37: error: 'gc' was not declared in this scope 151 | XShmPutImage(_display, _window, gc, _image, 0, 0, x, y, width, height, False); | ^~ ../hiro/core/../gtk/action/menu-check-item.cpp:33:3: error: 'gtk_menu_item_set_label' was not declared in this scope 33 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:151:41: error: '_image' was not declared in this scope 151 | XShmPutImage(_display, _window, gc, _image, 0, 0, x, y, width, height, False); | ^~~~~~ ../ruby/video/xshm.cpp:151:76: error: 'False' was not declared in this scope 151 | XShmPutImage(_display, _window, gc, _image, 0, 0, x, y, width, height, False); | ^~~~~ ../ruby/video/xshm.cpp:151:76: note: the macro 'False' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:81: note: it was later defined here 81 | #define False 0 | In file included from ../hiro/core/../gtk/platform.cpp:26: ../hiro/core/../gtk/action/menu-radio-item.cpp: At global scope: ../hiro/core/../gtk/action/menu-radio-item.cpp:5:36: error: 'GtkCheckMenuItem' was not declared in this scope 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:5:54: error: 'gtkCheckMenuItem' was not declared in this scope 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:5:86: error: expected primary-expression before '*' token 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-radio-item.cpp:5:88: error: 'p' was not declared in this scope 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-radio-item.cpp:5:89: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^ ../hiro/core/../gtk/action/menu-radio-item.cpp:5:91: error: expected ',' or ';' before '->' token 5 | static auto MenuRadioItem_activate(GtkCheckMenuItem* gtkCheckMenuItem, pMenuRadioItem* p) -> void { | ^~ ../ruby/video/xshm.cpp:151:5: error: 'XShmPutImage' was not declared in this scope; did you mean 'XSubImage'? 151 | XShmPutImage(_display, _window, gc, _image, 0, 0, x, y, width, height, False); | ^~~~~~~~~~~~ | XSubImage ../hiro/core/../gtk/action/menu-radio-item.cpp: In member function 'virtual void hiro::pMenuRadioItem::construct()': ../hiro/core/../gtk/action/menu-radio-item.cpp:10:3: error: 'widget' was not declared in this scope; did you mean 'Widget'? 10 | widget = gtk_radio_menu_item_new_with_mnemonic(0, ""); | ^~~~~~ | Widget ../ruby/video/xshm.cpp:152:5: error: 'XFreeGC' was not declared in this scope 152 | XFreeGC(_display, gc); | ^~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:10:12: error: 'gtk_radio_menu_item_new_with_mnemonic' was not declared in this scope 10 | widget = gtk_radio_menu_item_new_with_mnemonic(0, ""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:153:5: error: 'XFlush' was not declared in this scope; did you mean 'flush'? 153 | XFlush(_display); | ^~~~~~ | flush ../hiro/core/../gtk/action/menu-radio-item.cpp:11:3: error: 'gtkCheckMenuItem' was not declared in this scope 11 | gtkCheckMenuItem = GTK_CHECK_MENU_ITEM(widget); | ^~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp: In member function 'virtual void VideoXShm::poll()': ../ruby/video/xshm.cpp:157:20: error: '_display' was not declared in this scope 157 | while(XPending(_display)) { | ^~~~~~~~ ../ruby/video/xshm.cpp:157:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 157 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/action/menu-radio-item.cpp:11:22: error: 'GTK_CHECK_MENU_ITEM' was not declared in this scope 11 | gtkCheckMenuItem = GTK_CHECK_MENU_ITEM(widget); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:158:7: error: 'XEvent' was not declared in this scope 158 | XEvent event; | ^~~~~~ ../ruby/video/xshm.cpp:159:29: error: 'event' was not declared in this scope; did you mean 'servent'? 159 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/action/menu-radio-item.cpp:12:3: error: 'gtkRadioMenuItem' was not declared in this scope 12 | gtkRadioMenuItem = GTK_RADIO_MENU_ITEM(widget); | ^~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:159:7: error: 'XNextEvent' was not declared in this scope 159 | XNextEvent(_display, &event); | ^~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:12:22: error: 'GTK_RADIO_MENU_ITEM' was not declared in this scope 12 | gtkRadioMenuItem = GTK_RADIO_MENU_ITEM(widget); | ^~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:160:24: error: 'Expose' was not declared in this scope 160 | if(event.type == Expose) { | ^~~~~~ ../ruby/video/xshm.cpp:160:24: note: the macro 'Expose' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:191: note: it was later defined here 191 | #define Expose 12 | ../ruby/video/xshm.cpp:161:9: error: 'XWindowAttributes' was not declared in this scope 161 | XWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:162:40: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 162 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~ | BadWindow ../hiro/core/../gtk/action/menu-radio-item.cpp:16:20: error: 'G_OBJECT' was not declared in this scope 16 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuRadioItem_activate), (gpointer)this); | ^~~~~~~~ ../ruby/video/xshm.cpp:162:50: error: 'attributes' was not declared in this scope 162 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:16:49: error: 'G_CALLBACK' was not declared in this scope 16 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuRadioItem_activate), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:16:86: error: 'gpointer' was not declared in this scope 16 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuRadioItem_activate), (gpointer)this); | ^~~~~~~~ ../ruby/video/xshm.cpp:162:9: error: 'XGetWindowAttributes' was not declared in this scope 162 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:16:3: error: 'g_signal_connect' was not declared in this scope 16 | g_signal_connect(G_OBJECT(widget), "toggled", G_CALLBACK(MenuRadioItem_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp: In member function 'virtual void hiro::pMenuRadioItem::destruct()': ../hiro/core/../gtk/action/menu-radio-item.cpp:20:6: error: 'widget' was not declared in this scope; did you mean 'Widget'? 20 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~ | Widget ../ruby/video/xshm.cpp: In member function 'void VideoXShm::construct()': ../ruby/video/xshm.cpp:170:5: error: '_display' was not declared in this scope 170 | _display = XOpenDisplay(nullptr); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:20:14: error: 'gtk_widget_destroy' was not declared in this scope 20 | if(widget) gtk_widget_destroy(widget), widget = nullptr; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:170:16: error: 'XOpenDisplay' was not declared in this scope 170 | _display = XOpenDisplay(nullptr); | ^~~~~~~~~~~~ ../ruby/video/xshm.cpp:171:15: error: 'DefaultScreen' was not declared in this scope 171 | _screen = DefaultScreen(_display); | ^~~~~~~~~~~~~ ../ruby/video/xshm.cpp:171:15: note: the macro 'DefaultScreen' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:89: note: it was later defined here 89 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | ../ruby/video/xshm.cpp:172:5: error: 'XSetErrorHandler' was not declared in this scope; did you mean 'errorHandler'? 172 | XSetErrorHandler(errorHandler); | ^~~~~~~~~~~~~~~~ | errorHandler ../hiro/core/../gtk/action/menu-radio-item.cpp: In member function 'void hiro::pMenuRadioItem::setChecked()': ../hiro/core/../gtk/action/menu-radio-item.cpp:25:34: error: 'gtkCheckMenuItem' was not declared in this scope 25 | gtk_check_menu_item_set_active(gtkCheckMenuItem, true); | ^~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp: In member function 'void VideoXShm::destruct()': ../ruby/video/xshm.cpp:177:19: error: '_display' was not declared in this scope 177 | XCloseDisplay(_display); | ^~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:25:3: error: 'gtk_check_menu_item_set_active' was not declared in this scope 25 | gtk_check_menu_item_set_active(gtkCheckMenuItem, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:177:5: error: 'XCloseDisplay' was not declared in this scope 177 | XCloseDisplay(_display); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp: In member function 'void hiro::pMenuRadioItem::setGroup(hiro::sGroup)': ../hiro/core/../gtk/action/menu-radio-item.cpp:30:9: error: 'GtkRadioMenuItem' was not declared in this scope 30 | maybe<GtkRadioMenuItem*> gtkRadioMenuItem; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:30:26: error: template argument 1 is invalid 30 | maybe<GtkRadioMenuItem*> gtkRadioMenuItem; | ^ ../ruby/video/xshm.cpp: In member function 'bool VideoXShm::initialize()': ../ruby/video/xshm.cpp:184:5: error: '_parent' was not declared in this scope 184 | _parent = self.fullScreen ? RootWindow(_display, _screen) : (Window)self.context; | ^~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:36:47: error: 'struct hiro::pMenuRadioItem' has no member named 'gtkRadioMenuItem' 36 | gtk_radio_menu_item_set_group(self->gtkRadioMenuItem, nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:36:11: error: 'gtk_radio_menu_item_set_group' was not declared in this scope 36 | gtk_radio_menu_item_set_group(self->gtkRadioMenuItem, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:38:38: error: 'struct hiro::pMenuRadioItem' has no member named 'gtkRadioMenuItem' 38 | gtkRadioMenuItem = self->gtkRadioMenuItem; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:39:50: error: 'struct hiro::pMenuRadioItem' has no member named 'gtkCheckMenuItem' 39 | gtk_check_menu_item_set_active(self->gtkCheckMenuItem, menuRadioItem->state.checked = true); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:39:13: error: 'gtk_check_menu_item_set_active' was not declared in this scope 39 | gtk_check_menu_item_set_active(self->gtkCheckMenuItem, menuRadioItem->state.checked = true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:41:49: error: 'struct hiro::pMenuRadioItem' has no member named 'gtkRadioMenuItem' 41 | gtk_radio_menu_item_set_group(self->gtkRadioMenuItem, gtk_radio_menu_item_get_group(*gtkRadioMenuItem)); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:41:97: error: invalid type argument of unary '*' (have 'int') 41 | gtk_radio_menu_item_set_group(self->gtkRadioMenuItem, gtk_radio_menu_item_get_group(*gtkRadioMenuItem)); | ^~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:184:44: error: '_display' was not declared in this scope 184 | _parent = self.fullScreen ? RootWindow(_display, _screen) : (Window)self.context; | ^~~~~~~~ ../ruby/video/xshm.cpp:184:33: error: 'RootWindow' was not declared in this scope 184 | _parent = self.fullScreen ? RootWindow(_display, _screen) : (Window)self.context; | ^~~~~~~~~~ ../ruby/video/xshm.cpp:184:33: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../hiro/core/../gtk/action/menu-radio-item.cpp:41:67: error: 'gtk_radio_menu_item_get_group' was not declared in this scope 41 | gtk_radio_menu_item_set_group(self->gtkRadioMenuItem, gtk_radio_menu_item_get_group(*gtkRadioMenuItem)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:42:50: error: 'struct hiro::pMenuRadioItem' has no member named 'gtkCheckMenuItem' 42 | gtk_check_menu_item_set_active(self->gtkCheckMenuItem, menuRadioItem->state.checked = false); | ^~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:184:66: error: 'Window' was not declared in this scope 184 | _parent = self.fullScreen ? RootWindow(_display, _screen) : (Window)self.context; | ^~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:42:13: error: 'gtk_check_menu_item_set_active' was not declared in this scope 42 | gtk_check_menu_item_set_active(self->gtkCheckMenuItem, menuRadioItem->state.checked = false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp: In member function 'void hiro::pMenuRadioItem::setText(const nall::string&)': ../hiro/core/../gtk/action/menu-radio-item.cpp:52:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 52 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~ | Widget ../hiro/core/../gtk/action/menu-radio-item.cpp:52:27: error: 'GTK_MENU_ITEM' was not declared in this scope 52 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/action/menu-radio-item.cpp:52:3: error: 'gtk_menu_item_set_label' was not declared in this scope 52 | gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _mnemonic(text)); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:30: ../hiro/core/../gtk/widget/widget.cpp: At global scope: ../hiro/core/../gtk/widget/widget.cpp:5:25: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~~~~~~~ | wWidget ../ruby/video/xshm.cpp:185:5: error: 'XWindowAttributes' was not declared in this scope 185 | XWindowAttributes windowAttributes{}; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:5:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~~~~ | Widget ../hiro/core/../gtk/widget/widget.cpp:5:44: error: 'GdkDragContext' was not declared in this scope 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:5:60: error: 'context' was not declared in this scope; did you mean 'ucontext'? 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/widget.cpp:5:69: error: expected primary-expression before 'int' 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~ ../hiro/core/../gtk/widget/widget.cpp:5:76: error: expected primary-expression before 'int' 5 | static auto Widget_drop(GtkWidget* widget, GdkDragContext* context, int x, int y, | ^~~ ../hiro/core/../gtk/widget/widget.cpp:6:1: error: 'GtkSelectionData' was not declared in this scope 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:6:19: error: 'data' was not declared in this scope 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^~~~ ../hiro/core/../gtk/widget/widget.cpp:6:30: error: expected primary-expression before 'type' 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^~~~ ../hiro/core/../gtk/widget/widget.cpp:6:41: error: expected primary-expression before 'timestamp' 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:6:59: error: expected primary-expression before '*' token 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^ ../hiro/core/../gtk/widget/widget.cpp:6:61: error: 'p' was not declared in this scope 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^ ../hiro/core/../gtk/widget/widget.cpp:6:62: error: expression list treated as compound expression in initializer [-fpermissive] 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^ ../hiro/core/../gtk/widget/widget.cpp:6:64: error: expected ',' or ';' before '->' token 6 | GtkSelectionData* data, uint type, uint timestamp, pWidget* p) -> void { | ^~ ../ruby/video/xshm.cpp:186:46: error: 'windowAttributes' was not declared in this scope 186 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:13:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/widget.cpp:13:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/widget.cpp:13:50: error: 'GdkEventButton' was not declared in this scope 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:13:66: error: 'event' was not declared in this scope; did you mean 'servent'? 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:13:80: error: expected primary-expression before '*' token 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:13:82: error: 'p' was not declared in this scope 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:13:83: error: expression list treated as compound expression in initializer [-fpermissive] 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:13:85: error: expected ',' or ';' before '->' token 13 | static auto Widget_mouseEnter(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~ ../ruby/video/xshm.cpp:186:5: error: 'XGetWindowAttributes' was not declared in this scope 186 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:23:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/widget.cpp:23:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~ | Widget ../ruby/video/xshm.cpp:198:5: error: '_visual' was not declared in this scope 198 | _visual = windowAttributes.visual; | ^~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:23:50: error: 'GdkEventButton' was not declared in this scope 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:23:66: error: 'event' was not declared in this scope; did you mean 'servent'? 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:23:80: error: expected primary-expression before '*' token 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:23:82: error: 'p' was not declared in this scope 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:23:83: error: expression list treated as compound expression in initializer [-fpermissive] 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^ ../hiro/core/../gtk/widget/widget.cpp:23:85: error: expected ',' or ';' before '->' token 23 | static auto Widget_mouseLeave(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> int { | ^~ ../hiro/core/../gtk/widget/widget.cpp:33:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~ | wWidget ../ruby/video/xshm.cpp:199:5: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 199 | _colormap = XCreateColormap(_display, _parent, _visual, AllocNone); | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/widget/widget.cpp:33:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/widget.cpp:33:49: error: 'GdkEventButton' was not declared in this scope 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:33:65: error: 'event' was not declared in this scope; did you mean 'servent'? 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:33:79: error: expected primary-expression before '*' token 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:33:81: error: 'p' was not declared in this scope 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:33:82: error: expression list treated as compound expression in initializer [-fpermissive] 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:33:84: error: expected ',' or ';' before '->' token 33 | static auto Widget_mouseMove(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~ ../hiro/core/../gtk/widget/widget.cpp:38:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/widget.cpp:38:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~ | Widget ../ruby/video/xshm.cpp:199:61: error: 'AllocNone' was not declared in this scope 199 | _colormap = XCreateColormap(_display, _parent, _visual, AllocNone); | ^~~~~~~~~ ../ruby/video/xshm.cpp:199:61: note: the macro 'AllocNone' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:616: note: it was later defined here 616 | #define AllocNone 0 /* create map with no entries */ | ../hiro/core/../gtk/widget/widget.cpp:38:50: error: 'GdkEventButton' was not declared in this scope 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:38:66: error: 'event' was not declared in this scope; did you mean 'servent'? 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:38:80: error: expected primary-expression before '*' token 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:38:82: error: 'p' was not declared in this scope 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:38:83: error: expression list treated as compound expression in initializer [-fpermissive] 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:38:85: error: expected ',' or ';' before '->' token 38 | static auto Widget_mousePress(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~ ../hiro/core/../gtk/widget/widget.cpp:47:33: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/widget.cpp:47:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/widget.cpp:47:52: error: 'GdkEventButton' was not declared in this scope 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:47:68: error: 'event' was not declared in this scope; did you mean 'servent'? 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:47:82: error: expected primary-expression before '*' token 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:47:84: error: 'p' was not declared in this scope 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:47:85: error: expression list treated as compound expression in initializer [-fpermissive] 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^ ../hiro/core/../gtk/widget/widget.cpp:47:87: error: expected ',' or ';' before '->' token 47 | static auto Widget_mouseRelease(GtkWidget* widget, GdkEventButton* event, pWidget* p) -> signed { | ^~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::construct()': ../hiro/core/../gtk/widget/widget.cpp:57:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 57 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp: At global scope: ../hiro/core/../gtk/widget/widget.cpp:73:45: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 73 | auto pWidget::container(mWidget& widget) -> GtkWidget* { | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp:73:54: error: expected initializer before '*' token 73 | auto pWidget::container(mWidget& widget) -> GtkWidget* { | ^ ../ruby/video/xshm.cpp:199:17: error: 'XCreateColormap' was not declared in this scope; did you mean 'XNStdColormap'? 199 | _colormap = XCreateColormap(_display, _parent, _visual, AllocNone); | ^~~~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual bool hiro::pWidget::focused() const': ../hiro/core/../gtk/widget/widget.cpp:78:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 78 | if(!gtkWidget) return false; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp:79:31: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 79 | return gtk_widget_has_focus(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp:79:10: error: 'gtk_widget_has_focus' was not declared in this scope 79 | return gtk_widget_has_focus(gtkWidget); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:200:5: error: 'XSetWindowAttributes' was not declared in this scope 200 | XSetWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'void hiro::pWidget::setDroppable(bool)': ../hiro/core/../gtk/widget/widget.cpp:83:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 83 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:201:5: error: 'attributes' was not declared in this scope 201 | attributes.border_pixel = 0; | ^~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:85:23: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 85 | gtk_drag_dest_set(gtkWidget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:205:5: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 205 | _window = XCreateWindow(_display, _parent, | ^~~~~~~ | BadWindow ../hiro/core/../gtk/widget/widget.cpp:85:34: error: 'GTK_DEST_DEFAULT_ALL' was not declared in this scope 85 | gtk_drag_dest_set(gtkWidget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:207:18: error: 'InputOutput' was not declared in this scope 207 | 0, _depth, InputOutput, _visual, | ^~~~~~~~~~~ ../ruby/video/xshm.cpp:207:18: note: the macro 'InputOutput' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:387: note: it was later defined here 387 | #define InputOutput 1 | ../hiro/core/../gtk/widget/widget.cpp:85:68: error: 'GDK_ACTION_COPY' was not declared in this scope 85 | gtk_drag_dest_set(gtkWidget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:208:7: error: 'CWBorderPixel' was not declared in this scope 208 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes | ^~~~~~~~~~~~~ ../ruby/video/xshm.cpp:208:7: note: the macro 'CWBorderPixel' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:395: note: it was later defined here 395 | #define CWBorderPixel (1L<<3) | ../hiro/core/../gtk/widget/widget.cpp:85:5: error: 'gtk_drag_dest_set' was not declared in this scope 85 | gtk_drag_dest_set(gtkWidget, GTK_DEST_DEFAULT_ALL, nullptr, 0, GDK_ACTION_COPY); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:86:5: error: 'gtk_drag_dest_add_uri_targets' was not declared in this scope 86 | gtk_drag_dest_add_uri_targets(gtkWidget); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::setEnabled(bool)': ../hiro/core/../gtk/widget/widget.cpp:91:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 91 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:208:23: error: 'CWColormap' was not declared in this scope 208 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes | ^~~~~~~~~~ ../ruby/video/xshm.cpp:208:23: note: the macro 'CWColormap' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:405: note: it was later defined here 405 | #define CWColormap (1L<<13) | ../hiro/core/../gtk/widget/widget.cpp:92:28: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 92 | gtk_widget_set_sensitive(gtkWidget, enabled); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:208:36: error: 'CWOverrideRedirect' was not declared in this scope 208 | CWBorderPixel | CWColormap | CWOverrideRedirect, &attributes | ^~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:208:36: note: the macro 'CWOverrideRedirect' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:401: note: it was later defined here 401 | #define CWOverrideRedirect (1L<<9) | ../hiro/core/../gtk/widget/widget.cpp:92:3: error: 'gtk_widget_set_sensitive' was not declared in this scope 92 | gtk_widget_set_sensitive(gtkWidget, enabled); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::setFocused()': ../hiro/core/../gtk/widget/widget.cpp:100:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 100 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp:101:25: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 101 | gtk_widget_grab_focus(gtkWidget); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:205:15: error: 'XCreateWindow' was not declared in this scope 205 | _window = XCreateWindow(_display, _parent, | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:101:3: error: 'gtk_widget_grab_focus' was not declared in this scope 101 | gtk_widget_grab_focus(gtkWidget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:211:37: error: 'ExposureMask' was not declared in this scope 211 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../ruby/video/xshm.cpp:211:37: note: the macro 'ExposureMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:166: note: it was later defined here 166 | #define ExposureMask (1L<<15) | ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::setFont(const hiro::Font&)': ../hiro/core/../gtk/widget/widget.cpp:105:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 105 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/widget.cpp:106:25: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 106 | return pFont::setFont(gtkWidget, font); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:211:5: error: 'XSelectInput' was not declared in this scope 211 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::setGeometry(hiro::Geometry)': ../hiro/core/../gtk/widget/widget.cpp:110:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 110 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:212:5: error: 'XSetWindowBackground' was not declared in this scope 212 | XSetWindowBackground(_display, _window, 0); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:111:6: error: 'gtkParent' was not declared in this scope 111 | if(gtkParent) gtk_fixed_move(GTK_FIXED(gtkParent), gtkWidget, geometry.x(), geometry.y()); | ^~~~~~~~~ ../ruby/video/xshm.cpp:213:5: error: 'XMapWindow' was not declared in this scope; did you mean 'BadWindow'? 213 | XMapWindow(_display, _window); | ^~~~~~~~~~ | BadWindow ../hiro/core/../gtk/widget/widget.cpp:111:32: error: 'GTK_FIXED' was not declared in this scope; did you mean 'MAP_FIXED'? 111 | if(gtkParent) gtk_fixed_move(GTK_FIXED(gtkParent), gtkWidget, geometry.x(), geometry.y()); | ^~~~~~~~~ | MAP_FIXED ../ruby/video/xshm.cpp:214:5: error: 'XFlush' was not declared in this scope; did you mean 'flush'? 214 | XFlush(_display); | ^~~~~~ | flush ../hiro/core/../gtk/widget/widget.cpp:111:54: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 111 | if(gtkParent) gtk_fixed_move(GTK_FIXED(gtkParent), gtkWidget, geometry.x(), geometry.y()); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:216:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 216 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../hiro/core/../gtk/widget/widget.cpp:111:17: error: 'gtk_fixed_move' was not declared in this scope 111 | if(gtkParent) gtk_fixed_move(GTK_FIXED(gtkParent), gtkWidget, geometry.x(), geometry.y()); | ^~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:217:7: error: 'XEvent' was not declared in this scope 217 | XEvent event; | ^~~~~~ ../ruby/video/xshm.cpp:218:29: error: 'event' was not declared in this scope; did you mean 'servent'? 218 | XNextEvent(_display, &event); | ^~~~~ | servent ../hiro/core/../gtk/widget/widget.cpp:114:31: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 114 | gtk_widget_set_size_request(gtkWidget, geometry.width(), geometry.height()); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:218:7: error: 'XNextEvent' was not declared in this scope 218 | XNextEvent(_display, &event); | ^~~~~~~~~~ ../ruby/video/xshm.cpp: In member function 'void VideoXShm::terminate()': ../ruby/video/xshm.cpp:232:8: error: '_window' was not declared in this scope; did you mean 'BadWindow'? 232 | if(_window) { | ^~~~~~~ | BadWindow ../hiro/core/../gtk/widget/widget.cpp:114:3: error: 'gtk_widget_set_size_request' was not declared in this scope 114 | gtk_widget_set_size_request(gtkWidget, geometry.width(), geometry.height()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:115:11: error: 'gtk_widget_get_realized' was not declared in this scope 115 | if(0 && gtk_widget_get_realized(gtkWidget)) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:233:20: error: '_display' was not declared in this scope 233 | XUnmapWindow(_display, _window); | ^~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:121:9: error: 'GtkAllocation' was not declared in this scope 121 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:122:47: error: 'allocation' was not declared in this scope 122 | gtk_widget_get_allocation(gtkWidget, &allocation); | ^~~~~~~~~~ ../ruby/video/xshm.cpp:233:7: error: 'XUnmapWindow' was not declared in this scope 233 | XUnmapWindow(_display, _window); | ^~~~~~~~~~~~ ../ruby/video/xshm.cpp:237:8: error: '_colormap' was not declared in this scope; did you mean 'CWColormap'? 237 | if(_colormap) { | ^~~~~~~~~ | CWColormap ../hiro/core/../gtk/widget/widget.cpp:122:9: error: 'gtk_widget_get_allocation' was not declared in this scope 122 | gtk_widget_get_allocation(gtkWidget, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:124:9: error: 'gtk_main_iteration_do' was not declared in this scope 124 | gtk_main_iteration_do(false); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:238:21: error: '_display' was not declared in this scope 238 | XFreeColormap(_display, _colormap); | ^~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:131:3: error: 'gtk_widget_queue_draw' was not declared in this scope 131 | gtk_widget_queue_draw(gtkWidget); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:238:7: error: 'XFreeColormap' was not declared in this scope; did you mean 'XNStdColormap'? 238 | XFreeColormap(_display, _colormap); | ^~~~~~~~~~~~~ | XNStdColormap ../ruby/video/xshm.cpp: In member function 'void VideoXShm::allocate()': ../ruby/video/xshm.cpp:250:14: error: 'struct XShmSegmentInfo' has no member named 'readOnly' 250 | _shmInfo.readOnly = False; | ^~~~~~~~ ../ruby/video/xshm.cpp:250:25: error: 'False' was not declared in this scope 250 | _shmInfo.readOnly = False; | ^~~~~ ../ruby/video/xshm.cpp:250:25: note: the macro 'False' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:81: note: it was later defined here 81 | #define False 0 | ../ruby/video/xshm.cpp:251:16: error: '_display' was not declared in this scope 251 | XShmAttach(_display, &_shmInfo); | ^~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'void hiro::pWidget::setMouseCursor(const hiro::MouseCursor&)': ../hiro/core/../gtk/widget/widget.cpp:147:7: error: 'gdkMouseCursor' was not declared in this scope; did you mean 'setMouseCursor'? 147 | gdkMouseCursor = gdk_cursor_new_from_name(gdk_display_get_default(), name); | ^~~~~~~~~~~~~~ | setMouseCursor ../ruby/video/xshm.cpp:251:5: error: 'XShmAttach' was not declared in this scope 251 | XShmAttach(_display, &_shmInfo); | ^~~~~~~~~~ ../ruby/video/xshm.cpp:253:5: error: '_image' was not declared in this scope 253 | _image = XShmCreateImage(_display, _visual, _depth, ZPixmap, _shmInfo.shmaddr, &_shmInfo, _outputWidth, _outputHeight); | ^~~~~~ ../hiro/core/../gtk/widget/widget.cpp:147:49: error: 'gdk_display_get_default' was not declared in this scope 147 | gdkMouseCursor = gdk_cursor_new_from_name(gdk_display_get_default(), name); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:253:40: error: '_visual' was not declared in this scope 253 | _image = XShmCreateImage(_display, _visual, _depth, ZPixmap, _shmInfo.shmaddr, &_shmInfo, _outputWidth, _outputHeight); | ^~~~~~~ ../ruby/video/xshm.cpp:253:57: error: 'ZPixmap' was not declared in this scope 253 | _image = XShmCreateImage(_display, _visual, _depth, ZPixmap, _shmInfo.shmaddr, &_shmInfo, _outputWidth, _outputHeight); | ^~~~~~~ ../ruby/video/xshm.cpp:253:57: note: the macro 'ZPixmap' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/X.h:608: note: it was later defined here 608 | #define ZPixmap 2 /* depth == drawable depth */ | ../ruby/video/xshm.cpp:253:14: error: 'XShmCreateImage' was not declared in this scope 253 | _image = XShmCreateImage(_display, _visual, _depth, ZPixmap, _shmInfo.shmaddr, &_shmInfo, _outputWidth, _outputHeight); | ^~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp: In member function 'void VideoXShm::free()': ../ruby/video/xshm.cpp:257:8: error: '_image' was not declared in this scope 257 | if(_image) { | ^~~~~~ ../hiro/core/../gtk/widget/widget.cpp:147:24: error: 'gdk_cursor_new_from_name' was not declared in this scope 147 | gdkMouseCursor = gdk_cursor_new_from_name(gdk_display_get_default(), name); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'void hiro::pWidget::setToolTip(const nall::string&)': ../hiro/core/../gtk/widget/widget.cpp:153:31: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 153 | gtk_widget_set_tooltip_text(gtkWidget, toolTip); | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:258:18: error: '_display' was not declared in this scope 258 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:153:3: error: 'gtk_widget_set_tooltip_text' was not declared in this scope 153 | gtk_widget_set_tooltip_text(gtkWidget, toolTip); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xshm.cpp:258:7: error: 'XShmDetach' was not declared in this scope 258 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp: In member function 'virtual void hiro::pWidget::setVisible(bool)': ../hiro/core/../gtk/widget/widget.cpp:157:7: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 157 | if(!gtkWidget) return; | ^~~~~~~~~ | pWidget ../ruby/video/xshm.cpp:259:7: error: 'XDestroyImage' was not declared in this scope 259 | XDestroyImage(_image); | ^~~~~~~~~~~~~ ../ruby/video/xshm.cpp:259:7: note: the macro 'XDestroyImage' had not yet been defined In file included from ../ruby/input/xlib.cpp:4: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xutil.h:216: note: it was later defined here 216 | #define XDestroyImage(ximage) \ | In file included from ../ruby/video/xvideo.cpp:5: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h: At global scope: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:98:5: error: 'Bool' does not name a type 98 | Bool send_event; /* true if this came from a SendEvent request */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:98:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:99:5: error: 'Display' does not name a type 99 | Display *display; /* Display the event was read from */ | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:109:5: error: 'Bool' does not name a type 109 | Bool send_event; /* true if this came from a SendEvent request */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:109:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:110:5: error: 'Display' does not name a type 110 | Display *display; /* Display the event was read from */ | ^~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:158:26: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 158 | gtk_widget_set_visible(gtkWidget, visible); | ^~~~~~~~~ | pWidget /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:161:5: error: 'XPointer' does not name a type 161 | XPointer obdata; | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:166:12: warning: 'XvQueryExtension' initialized and declared 'extern' 166 | extern int XvQueryExtension( | ^~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:167:5: error: 'Display' was not declared in this scope 167 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:167:46: error: expected primary-expression before ',' token 167 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:168:5: error: expected primary-expression before 'unsigned' 168 | unsigned int * /* p_version */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:169:5: error: expected primary-expression before 'unsigned' 169 | unsigned int * /* p_revision */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:170:5: error: expected primary-expression before 'unsigned' 170 | unsigned int * /* p_requestBase */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:171:5: error: expected primary-expression before 'unsigned' 171 | unsigned int * /* p_eventBase */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:172:5: error: expected primary-expression before 'unsigned' 172 | unsigned int * /* p_errorBase */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:173:1: error: expression list treated as compound expression in initializer [-fpermissive] 173 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:175:12: warning: 'XvQueryAdaptors' initialized and declared 'extern' 175 | extern int XvQueryAdaptors( | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/widget.cpp:158:3: error: 'gtk_widget_set_visible' was not declared in this scope 158 | gtk_widget_set_visible(gtkWidget, visible); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:31: ../hiro/core/../gtk/widget/button.cpp: At global scope: ../hiro/core/../gtk/widget/button.cpp:5:29: error: 'GtkButton' was not declared in this scope; did you mean 'wButton'? 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^~~~~~~~~ | wButton /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:176:5: error: 'Display' was not declared in this scope 176 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:176:46: error: expected primary-expression before ',' token 176 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:177:45: error: expected primary-expression before ',' token 177 | Window /* window */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:178:5: error: expected primary-expression before 'unsigned' 178 | unsigned int * /* p_nAdaptors */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:179:19: error: expected primary-expression before '*' token 179 | XvAdaptorInfo ** /* p_pAdaptors */ | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:180:1: error: expected primary-expression before ')' token 180 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:180:1: error: expression list treated as compound expression in initializer [-fpermissive] /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:182:12: warning: 'XvQueryEncodings' initialized and declared 'extern' 182 | extern int XvQueryEncodings( | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:5:40: error: 'gtkButton' was not declared in this scope; did you mean 'wButton'? 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^~~~~~~~~ | wButton ../hiro/core/../gtk/widget/button.cpp:5:58: error: expected primary-expression before '*' token 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^ ../hiro/core/../gtk/widget/button.cpp:5:60: error: 'p' was not declared in this scope 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^ ../hiro/core/../gtk/widget/button.cpp:5:61: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^ ../hiro/core/../gtk/widget/button.cpp:5:63: error: expected ',' or ';' before '->' token 5 | static auto Button_activate(GtkButton* gtkButton, pButton* p) -> void { p->_doActivate(); } | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:183:5: error: 'Display' was not declared in this scope 183 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:183:46: error: expected primary-expression before ',' token 183 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:184:43: error: expected primary-expression before ',' token 184 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:185:5: error: expected primary-expression before 'unsigned' 185 | unsigned int * /* p_nEncoding */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:186:20: error: expected primary-expression before '*' token 186 | XvEncodingInfo ** /* p_pEncoding */ | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:187:1: error: expected primary-expression before ')' token 187 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:187:1: error: expression list treated as compound expression in initializer [-fpermissive] /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:189:12: warning: 'XvPutVideo' initialized and declared 'extern' 189 | extern int XvPutVideo( | ^~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'virtual void hiro::pButton::construct()': ../hiro/core/../gtk/widget/button.cpp:8:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 8 | gtkWidget = gtk_button_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/button.cpp:8:15: error: 'gtk_button_new' was not declared in this scope 8 | gtkWidget = gtk_button_new(); | ^~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:190:5: error: 'Display' was not declared in this scope 190 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:190:46: error: expected primary-expression before ',' token 190 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:191:43: error: expected primary-expression before ',' token 191 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:192:40: error: expected primary-expression before ',' token 192 | Drawable /* d */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:193:5: error: 'GC' was not declared in this scope 193 | GC /* gc */, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:194:5: error: expected primary-expression before 'int' 194 | int /* vx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:195:5: error: expected primary-expression before 'int' 195 | int /* vy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:196:5: error: expected primary-expression before 'unsigned' 196 | unsigned int /* vw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:197:5: error: expected primary-expression before 'unsigned' 197 | unsigned int /* vh */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:198:5: error: expected primary-expression before 'int' 198 | int /* dx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:199:5: error: expected primary-expression before 'int' 199 | int /* dy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:200:5: error: expected primary-expression before 'unsigned' 200 | unsigned int /* dw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:201:5: error: expected primary-expression before 'unsigned' 201 | unsigned int /* dh */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:202:1: error: expression list treated as compound expression in initializer [-fpermissive] 202 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:204:12: warning: 'XvPutStill' initialized and declared 'extern' 204 | extern int XvPutStill( | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:205:5: error: 'Display' was not declared in this scope 205 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:205:46: error: expected primary-expression before ',' token 205 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:206:43: error: expected primary-expression before ',' token 206 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:207:40: error: expected primary-expression before ',' token 207 | Drawable /* d */, | ^ ../hiro/core/../gtk/widget/button.cpp:9:3: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 9 | gtkButton = GTK_BUTTON(gtkWidget); | ^~~~~~~~~ | pButton /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:208:5: error: 'GC' was not declared in this scope 208 | GC /* gc */, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:209:5: error: expected primary-expression before 'int' 209 | int /* vx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:210:5: error: expected primary-expression before 'int' 210 | int /* vy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:211:5: error: expected primary-expression before 'unsigned' 211 | unsigned int /* vw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:212:5: error: expected primary-expression before 'unsigned' 212 | unsigned int /* vh */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:213:5: error: expected primary-expression before 'int' 213 | int /* dx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:214:5: error: expected primary-expression before 'int' 214 | int /* dy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:215:5: error: expected primary-expression before 'unsigned' 215 | unsigned int /* dw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:216:5: error: expected primary-expression before 'unsigned' 216 | unsigned int /* dh */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:217:1: error: expression list treated as compound expression in initializer [-fpermissive] 217 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:219:12: warning: 'XvGetVideo' initialized and declared 'extern' 219 | extern int XvGetVideo( | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:220:5: error: 'Display' was not declared in this scope 220 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:220:46: error: expected primary-expression before ',' token 220 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:221:43: error: expected primary-expression before ',' token 221 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:222:40: error: expected primary-expression before ',' token 222 | Drawable /* d */, | ^ ../hiro/core/../gtk/widget/button.cpp:9:15: error: 'GTK_BUTTON' was not declared in this scope 9 | gtkButton = GTK_BUTTON(gtkWidget); | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:223:5: error: 'GC' was not declared in this scope 223 | GC /* gc */, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:224:5: error: expected primary-expression before 'int' 224 | int /* vx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:225:5: error: expected primary-expression before 'int' 225 | int /* vy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:226:5: error: expected primary-expression before 'unsigned' 226 | unsigned int /* vw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:227:5: error: expected primary-expression before 'unsigned' 227 | unsigned int /* vh */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:228:5: error: expected primary-expression before 'int' 228 | int /* dx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:229:5: error: expected primary-expression before 'int' 229 | int /* dy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:230:5: error: expected primary-expression before 'unsigned' 230 | unsigned int /* dw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:231:5: error: expected primary-expression before 'unsigned' 231 | unsigned int /* dh */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:232:1: error: expression list treated as compound expression in initializer [-fpermissive] 232 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:234:12: warning: 'XvGetStill' initialized and declared 'extern' 234 | extern int XvGetStill( | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:235:5: error: 'Display' was not declared in this scope 235 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:235:46: error: expected primary-expression before ',' token 235 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:236:43: error: expected primary-expression before ',' token 236 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:237:40: error: expected primary-expression before ',' token 237 | Drawable /* d */, | ^ ../hiro/core/../gtk/widget/button.cpp:16:20: error: 'G_OBJECT' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkButton), "clicked", G_CALLBACK(Button_activate), (gpointer)this); | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:238:5: error: 'GC' was not declared in this scope 238 | GC /* gc */, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:239:5: error: expected primary-expression before 'int' 239 | int /* vx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:240:5: error: expected primary-expression before 'int' 240 | int /* vy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:241:5: error: expected primary-expression before 'unsigned' 241 | unsigned int /* vw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:242:5: error: expected primary-expression before 'unsigned' 242 | unsigned int /* vh */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:243:5: error: expected primary-expression before 'int' 243 | int /* dx */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:244:5: error: expected primary-expression before 'int' 244 | int /* dy */, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:245:5: error: expected primary-expression before 'unsigned' 245 | unsigned int /* dw */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:246:5: error: expected primary-expression before 'unsigned' 246 | unsigned int /* dh */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:247:1: error: expression list treated as compound expression in initializer [-fpermissive] 247 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:249:12: warning: 'XvStopVideo' initialized and declared 'extern' 249 | extern int XvStopVideo( | ^~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:250:5: error: 'Display' was not declared in this scope 250 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:250:46: error: expected primary-expression before ',' token 250 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:251:43: error: expected primary-expression before ',' token 251 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:253:1: error: expected primary-expression before ')' token 253 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:253:1: error: expression list treated as compound expression in initializer [-fpermissive] /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:255:12: warning: 'XvGrabPort' initialized and declared 'extern' 255 | extern int XvGrabPort( | ^~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:16:52: error: 'G_CALLBACK' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkButton), "clicked", G_CALLBACK(Button_activate), (gpointer)this); | ^~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:256:5: error: 'Display' was not declared in this scope 256 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:256:46: error: expected primary-expression before ',' token 256 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:257:43: error: expected primary-expression before ',' token 257 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:259:1: error: expected primary-expression before ')' token 259 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:259:1: error: expression list treated as compound expression in initializer [-fpermissive] /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:261:12: warning: 'XvUngrabPort' initialized and declared 'extern' 261 | extern int XvUngrabPort( | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:16:82: error: 'gpointer' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkButton), "clicked", G_CALLBACK(Button_activate), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:16:3: error: 'g_signal_connect' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkButton), "clicked", G_CALLBACK(Button_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'virtual void hiro::pButton::destruct()': ../hiro/core/../gtk/widget/button.cpp:22:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 22 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/button.cpp:22:3: error: 'gtk_widget_destroy' was not declared in this scope 22 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'void hiro::pButton::setBordered(bool)': ../hiro/core/../gtk/widget/button.cpp:42:25: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 42 | gtk_button_set_relief(gtkButton, bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~ | pButton /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:262:5: error: 'Display' was not declared in this scope 262 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:262:46: error: expected primary-expression before ',' token 262 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:263:43: error: expected primary-expression before ',' token 263 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:265:1: error: expected primary-expression before ')' token 265 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:265:1: error: expression list treated as compound expression in initializer [-fpermissive] /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:267:12: warning: 'XvSelectVideoNotify' initialized and declared 'extern' 267 | extern int XvSelectVideoNotify( | ^~~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:268:5: error: 'Display' was not declared in this scope 268 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:268:46: error: expected primary-expression before ',' token 268 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:269:47: error: expected primary-expression before ',' token 269 | Drawable /* drawable */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:270:5: error: 'Bool' was not declared in this scope 270 | Bool /* onoff */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:270:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:271:1: error: expression list treated as compound expression in initializer [-fpermissive] 271 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:273:12: warning: 'XvSelectPortNotify' initialized and declared 'extern' 273 | extern int XvSelectPortNotify( | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:42:47: error: 'GTK_RELIEF_NORMAL' was not declared in this scope 42 | gtk_button_set_relief(gtkButton, bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:274:5: error: 'Display' was not declared in this scope 274 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:274:46: error: expected primary-expression before ',' token 274 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:275:43: error: expected primary-expression before ',' token 275 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:276:5: error: 'Bool' was not declared in this scope 276 | Bool /* onoff */ | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:276:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:277:1: error: expression list treated as compound expression in initializer [-fpermissive] 277 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:279:12: warning: 'XvSetPortAttribute' initialized and declared 'extern' 279 | extern int XvSetPortAttribute( | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:42:67: error: 'GTK_RELIEF_NONE' was not declared in this scope 42 | gtk_button_set_relief(gtkButton, bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:280:5: error: 'Display' was not declared in this scope 280 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:280:46: error: expected primary-expression before ',' token 280 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:281:43: error: expected primary-expression before ',' token 281 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:282:48: error: expected primary-expression before ',' token 282 | Atom /* attribute */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:283:5: error: expected primary-expression before 'int' 283 | int /* value */ | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:284:1: error: expression list treated as compound expression in initializer [-fpermissive] 284 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:286:12: warning: 'XvGetPortAttribute' initialized and declared 'extern' 286 | extern int XvGetPortAttribute( | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:42:3: error: 'gtk_button_set_relief' was not declared in this scope 42 | gtk_button_set_relief(gtkButton, bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:287:5: error: 'Display' was not declared in this scope 287 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:287:46: error: expected primary-expression before ',' token 287 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:288:43: error: expected primary-expression before ',' token 288 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:289:48: error: expected primary-expression before ',' token 289 | Atom /* attribute */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:290:5: error: expected primary-expression before 'int' 290 | int * /* p_value */ | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:291:1: error: expression list treated as compound expression in initializer [-fpermissive] 291 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:293:12: warning: 'XvQueryBestSize' initialized and declared 'extern' 293 | extern int XvQueryBestSize( | ^~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:294:5: error: 'Display' was not declared in this scope 294 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:294:46: error: expected primary-expression before ',' token 294 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:295:43: error: expected primary-expression before ',' token 295 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:296:5: error: 'Bool' was not declared in this scope 296 | Bool /* motion */, | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:296:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:297:5: error: expected primary-expression before 'unsigned' 297 | unsigned int /* vid_w */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:298:5: error: expected primary-expression before 'unsigned' 298 | unsigned int /* vid_h */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:299:5: error: expected primary-expression before 'unsigned' 299 | unsigned int /* drw_w */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:300:5: error: expected primary-expression before 'unsigned' 300 | unsigned int /* drw_h */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:301:5: error: expected primary-expression before 'unsigned' 301 | unsigned int * /* p_actual_width */, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:302:5: error: expected primary-expression before 'unsigned' 302 | unsigned int * /* p_actual_width */ | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:303:1: error: expression list treated as compound expression in initializer [-fpermissive] 303 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:305:21: warning: 'XvQueryPortAttributes' initialized and declared 'extern' 305 | extern XvAttribute *XvQueryPortAttributes( | ^~~~~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:306:5: error: 'Display' was not declared in this scope 306 | Display * /* display */, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:306:46: error: expected primary-expression before ',' token 306 | Display * /* display */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:307:43: error: expected primary-expression before ',' token 307 | XvPortID /* port */, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:308:5: error: expected primary-expression before 'int' 308 | int * /* number */ | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:309:1: error: expression list treated as compound expression in initializer [-fpermissive] 309 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:321:29: warning: 'XvListImageFormats' initialized and declared 'extern' 321 | extern XvImageFormatValues *XvListImageFormats ( | ^~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:322:5: error: 'Display' was not declared in this scope 322 | Display *display, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:323:17: error: expected primary-expression before 'port_id' 323 | XvPortID port_id, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:324:5: error: expected primary-expression before 'int' 324 | int *count_return | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:325:1: error: expression list treated as compound expression in initializer [-fpermissive] 325 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:327:17: warning: 'XvCreateImage' initialized and declared 'extern' 327 | extern XvImage *XvCreateImage ( | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'void hiro::pButton::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/button.cpp:47:21: error: 'CreateImage' was not declared in this scope 47 | auto gtkImage = CreateImage(icon); | ^~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:328:5: error: 'Display' was not declared in this scope 328 | Display *display, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:329:14: error: expected primary-expression before 'port' 329 | XvPortID port, | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:330:5: error: expected primary-expression before 'int' 330 | int id, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:331:5: error: expected primary-expression before 'char' 331 | char *data, | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:332:5: error: expected primary-expression before 'int' 332 | int width, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:333:5: error: expected primary-expression before 'int' 333 | int height | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:334:1: error: expression list treated as compound expression in initializer [-fpermissive] 334 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:336:12: warning: 'XvPutImage' initialized and declared 'extern' 336 | extern int XvPutImage ( | ^~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:48:26: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 48 | gtk_button_set_image(gtkButton, (GtkWidget*)gtkImage); | ^~~~~~~~~ | pButton /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:337:5: error: 'Display' was not declared in this scope 337 | Display *display, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:338:14: error: expected primary-expression before 'id' 338 | XvPortID id, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:339:14: error: expected primary-expression before 'd' 339 | Drawable d, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:340:5: error: 'GC' was not declared in this scope 340 | GC gc, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:341:13: error: expected primary-expression before '*' token 341 | XvImage *image, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:341:19: error: expected primary-expression before ',' token 341 | XvImage *image, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:342:5: error: expected primary-expression before 'int' 342 | int src_x, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:343:5: error: expected primary-expression before 'int' 343 | int src_y, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:344:5: error: expected primary-expression before 'unsigned' 344 | unsigned int src_w, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:345:5: error: expected primary-expression before 'unsigned' 345 | unsigned int src_h, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:346:5: error: expected primary-expression before 'int' 346 | int dest_x, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:347:5: error: expected primary-expression before 'int' 347 | int dest_y, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:348:5: error: expected primary-expression before 'unsigned' 348 | unsigned int dest_w, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:349:5: error: expected primary-expression before 'unsigned' 349 | unsigned int dest_h | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:350:1: error: expression list treated as compound expression in initializer [-fpermissive] 350 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:352:12: warning: 'XvShmPutImage' initialized and declared 'extern' 352 | extern int XvShmPutImage ( | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:48:38: error: 'GtkWidget' was not declared in this scope; did you mean 'pWidget'? 48 | gtk_button_set_image(gtkButton, (GtkWidget*)gtkImage); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/button.cpp:48:48: error: expected primary-expression before ')' token 48 | gtk_button_set_image(gtkButton, (GtkWidget*)gtkImage); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:353:5: error: 'Display' was not declared in this scope 353 | Display *display, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:354:14: error: expected primary-expression before 'id' 354 | XvPortID id, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:355:14: error: expected primary-expression before 'd' 355 | Drawable d, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:356:5: error: 'GC' was not declared in this scope 356 | GC gc, | ^~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:357:13: error: expected primary-expression before '*' token 357 | XvImage *image, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:357:19: error: expected primary-expression before ',' token 357 | XvImage *image, | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:358:5: error: expected primary-expression before 'int' 358 | int src_x, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:359:5: error: expected primary-expression before 'int' 359 | int src_y, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:360:5: error: expected primary-expression before 'unsigned' 360 | unsigned int src_w, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:361:5: error: expected primary-expression before 'unsigned' 361 | unsigned int src_h, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:362:5: error: expected primary-expression before 'int' 362 | int dest_x, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:363:5: error: expected primary-expression before 'int' 363 | int dest_y, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:364:5: error: expected primary-expression before 'unsigned' 364 | unsigned int dest_w, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:365:5: error: expected primary-expression before 'unsigned' 365 | unsigned int dest_h, | ^~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:366:5: error: 'Bool' was not declared in this scope 366 | Bool send_event | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:366:5: note: the macro 'Bool' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:78: note: it was later defined here 78 | #define Bool int | /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:367:1: error: expression list treated as compound expression in initializer [-fpermissive] 367 | ); | ^ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:369:17: warning: 'XvShmCreateImage' initialized and declared 'extern' 369 | extern XvImage *XvShmCreateImage ( | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:48:5: error: 'gtk_button_set_image' was not declared in this scope 48 | gtk_button_set_image(gtkButton, (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:370:5: error: 'Display' was not declared in this scope 370 | Display *display, | ^~~~~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:371:14: error: expected primary-expression before 'port' 371 | XvPortID port, | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:372:5: error: expected primary-expression before 'int' 372 | int id, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:373:5: error: expected primary-expression before 'char' 373 | char *data, | ^~~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:374:5: error: expected primary-expression before 'int' 374 | int width, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:375:5: error: expected primary-expression before 'int' 375 | int height, | ^~~ /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:376:21: error: expected primary-expression before '*' token 376 | XShmSegmentInfo *shminfo | ^ ../hiro/core/../gtk/widget/button.cpp:50:26: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 50 | gtk_button_set_image(gtkButton, nullptr); | ^~~~~~~~~ | pButton /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:376:22: error: 'shminfo' was not declared in this scope; did you mean 'siginfo'? 376 | XShmSegmentInfo *shminfo | ^~~~~~~ | siginfo /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:377:1: error: expression list treated as compound expression in initializer [-fpermissive] 377 | ); | ^ ../ruby/video/xvideo.cpp:7:17: warning: 'XvShmCreateImage' initialized and declared 'extern' 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:7:17: error: conflicting declaration 'auto XvShmCreateImage' /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/extensions/Xvlib.h:369:17: note: previous declaration as 'XvImage* XvShmCreateImage' 369 | extern XvImage *XvShmCreateImage ( | ^~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:7:34: error: 'Display' was not declared in this scope 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~~~~~ ../ruby/video/xvideo.cpp:7:42: error: expected primary-expression before ',' token 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^ ../ruby/video/xvideo.cpp:7:52: error: expected primary-expression before ',' token 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^ ../ruby/video/xvideo.cpp:7:54: error: expected primary-expression before 'int' 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~ ../ruby/video/xvideo.cpp:7:59: error: expected primary-expression before 'char' 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~~ ../ruby/video/xvideo.cpp:7:66: error: expected primary-expression before 'int' 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~ ../ruby/video/xvideo.cpp:7:71: error: expected primary-expression before 'int' 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^~~ ../ruby/video/xvideo.cpp:7:91: error: expected primary-expression before '*' token 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^ ../ruby/video/xvideo.cpp:7:92: error: expected primary-expression before ')' token 7 | extern "C" auto XvShmCreateImage(Display*, XvPortID, int, char*, int, int, XShmSegmentInfo*) -> XvImage*; | ^ ../hiro/core/../gtk/widget/button.cpp:50:5: error: 'gtk_button_set_image' was not declared in this scope 50 | gtk_button_set_image(gtkButton, nullptr); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'void hiro::pButton::setOrientation(hiro::Orientation)': ../hiro/core/../gtk/widget/button.cpp:56:63: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 56 | case Orientation::Horizontal: gtk_button_set_image_position(gtkButton, GTK_POS_LEFT); break; | ^~~~~~~~~ | pButton ../ruby/video/xvideo.cpp:549:3: error: 'Display' does not name a type 549 | Display* _display = nullptr; | ^~~~~~~ ../ruby/video/xvideo.cpp:555:3: error: 'GC' does not name a type 555 | GC _gc = 0; | ^~ ../hiro/core/../gtk/widget/button.cpp:56:74: error: 'GTK_POS_LEFT' was not declared in this scope 56 | case Orientation::Horizontal: gtk_button_set_image_position(gtkButton, GTK_POS_LEFT); break; | ^~~~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'virtual bool VideoXVideo::setBlocking(bool)': ../ruby/video/xvideo.cpp:46:5: error: 'Display' was not declared in this scope 46 | Display* display = XOpenDisplay(nullptr); | ^~~~~~~ ../hiro/core/../gtk/widget/button.cpp:56:33: error: 'gtk_button_set_image_position' was not declared in this scope 56 | case Orientation::Horizontal: gtk_button_set_image_position(gtkButton, GTK_POS_LEFT); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:46:24: error: 'XOpenDisplay' was not declared in this scope 46 | Display* display = XOpenDisplay(nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:57:74: error: 'GTK_POS_TOP' was not declared in this scope 57 | case Orientation::Vertical: gtk_button_set_image_position(gtkButton, GTK_POS_TOP); break; | ^~~~~~~~~~~ ../ruby/video/xvideo.cpp:47:17: error: 'XInternAtom' was not declared in this scope 47 | Atom atom = XInternAtom(display, "XV_SYNC_TO_VBLANK", true); | ^~~~~~~~~~~ ../ruby/video/xvideo.cpp:49:25: error: 'XvSetPortAttribute' cannot be used as a function 49 | XvSetPortAttribute(display, _port, atom, self.blocking); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp: In member function 'void hiro::pButton::setText(const nall::string&)': ../hiro/core/../gtk/widget/button.cpp:62:24: error: 'gtkButton' was not declared in this scope; did you mean 'pButton'? 62 | gtk_button_set_label(gtkButton, text); | ^~~~~~~~~ | pButton ../ruby/video/xvideo.cpp:52:5: error: 'XCloseDisplay' was not declared in this scope 52 | XCloseDisplay(display); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/button.cpp:62:3: error: 'gtk_button_set_label' was not declared in this scope 62 | gtk_button_set_label(gtkButton, text); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:32: ../hiro/core/../gtk/widget/canvas.cpp: At global scope: ../hiro/core/../gtk/widget/canvas.cpp:6:25: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/canvas.cpp:6:36: error: 'widget' was not declared in this scope; did you mean 'Widget'? 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^~~~~~ | Widget ../ruby/video/xvideo.cpp: In member function 'virtual void VideoXVideo::size(uint&, uint&)': ../ruby/video/xvideo.cpp:76:7: error: 'XWindowAttributes' was not declared in this scope 76 | XWindowAttributes parent; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:6:44: error: 'cairo_t' was not declared in this scope 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:6:53: error: 'context' was not declared in this scope; did you mean 'ucontext'? 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/canvas.cpp:6:69: error: expected primary-expression before '*' token 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:6:71: error: 'p' was not declared in this scope 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:6:72: error: expression list treated as compound expression in initializer [-fpermissive] 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:6:74: error: expected ',' or ';' before '->' token 6 | static auto Canvas_draw(GtkWidget* widget, cairo_t* context, pCanvas* p) -> signed { | ^~ ../hiro/core/../gtk/widget/canvas.cpp:12:27: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^~~~~~~~~ | wWidget ../ruby/video/xvideo.cpp:77:28: error: '_display' was not declared in this scope 77 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:12:38: error: 'widget' was not declared in this scope; did you mean 'Widget'? 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^~~~~~ | Widget ../ruby/video/xvideo.cpp:77:48: error: 'parent' was not declared in this scope; did you mean '_parent'? 77 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | _parent ../hiro/core/../gtk/widget/canvas.cpp:12:46: error: 'GdkEventExpose' was not declared in this scope 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:12:62: error: 'event' was not declared in this scope; did you mean 'servent'? 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/canvas.cpp:12:76: error: expected primary-expression before '*' token 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:12:78: error: 'p' was not declared in this scope 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:12:79: error: expression list treated as compound expression in initializer [-fpermissive] 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:12:81: error: expected ',' or ';' before '->' token 12 | static auto Canvas_expose(GtkWidget* widget, GdkEventExpose* event, pCanvas* p) -> signed { | ^~ ../ruby/video/xvideo.cpp:77:7: error: 'XGetWindowAttributes' was not declared in this scope 77 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:17:29: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/canvas.cpp:17:40: error: 'widget' was not declared in this scope; did you mean 'Widget'? 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~ | Widget ../ruby/video/xvideo.cpp: In member function 'virtual void VideoXVideo::output(uint, uint)': ../ruby/video/xvideo.cpp:93:5: error: 'XWindowAttributes' was not declared in this scope 93 | XWindowAttributes window; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:17:48: error: 'GdkEventKey' was not declared in this scope 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:17:61: error: 'event' was not declared in this scope; did you mean 'servent'? 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/canvas.cpp:17:77: error: expected primary-expression before '*' token 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:17:79: error: 'p' was not declared in this scope 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:17:80: error: expression list treated as compound expression in initializer [-fpermissive] 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:17:82: error: expected ',' or ';' before '->' token 17 | static auto Canvas_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~ ../hiro/core/../gtk/widget/canvas.cpp:26:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/canvas.cpp:26:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/canvas.cpp:26:50: error: 'GdkEventButton' was not declared in this scope 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:94:26: error: '_display' was not declared in this scope 94 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:26:66: error: 'event' was not declared in this scope; did you mean 'servent'? 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/canvas.cpp:26:80: error: expected primary-expression before '*' token 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:26:82: error: 'p' was not declared in this scope 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:26:83: error: expression list treated as compound expression in initializer [-fpermissive] 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/canvas.cpp:26:85: error: expected ',' or ';' before '->' token 26 | static auto Canvas_mousePress(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~ ../ruby/video/xvideo.cpp:94:46: error: 'window' was not declared in this scope; did you mean 'Window'? 94 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~ | Window ../ruby/video/xvideo.cpp:94:5: error: 'XGetWindowAttributes' was not declared in this scope 94 | XGetWindowAttributes(_display, _window, &window); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:96:23: error: expected ';' before 'parent' 96 | XWindowAttributes parent; | ^~~~~~ ../hiro/core/../gtk/widget/canvas.cpp: In member function 'virtual void hiro::pCanvas::construct()': ../hiro/core/../gtk/widget/canvas.cpp:35:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 35 | gtkWidget = gtk_drawing_area_new(); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:97:46: error: 'parent' was not declared in this scope; did you mean '_parent'? 97 | XGetWindowAttributes(_display, _parent, &parent); | ^~~~~~ | _parent ../hiro/core/../gtk/widget/canvas.cpp:35:15: error: 'gtk_drawing_area_new' was not declared in this scope 35 | gtkWidget = gtk_drawing_area_new(); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:100:7: error: 'XResizeWindow' was not declared in this scope 100 | XResizeWindow(_display, _window, parent.width, parent.height); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:37:5: error: 'GDK_BUTTON_PRESS_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:130:45: error: '_gc' was not declared in this scope 130 | XvShmPutImage(_display, _port, _window, _gc, _image, | ^~~ ../ruby/video/xvideo.cpp:130:18: error: 'XvShmPutImage' cannot be used as a function 130 | XvShmPutImage(_display, _port, _window, _gc, _image, | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 131 | 0, 0, _width, _height, | ~~~~~~~~~~~~~~~~~~~~~~ 132 | x, y, width, height, | ~~~~~~~~~~~~~~~~~~~~ 133 | true); | ~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:37:29: error: 'GDK_BUTTON_RELEASE_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'virtual void VideoXVideo::poll()': ../ruby/video/xvideo.cpp:137:20: error: '_display' was not declared in this scope 137 | while(XPending(_display)) { | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:37:55: error: 'GDK_EXPOSURE_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:137:11: error: 'XPending' was not declared in this scope; did you mean 'sigpending'? 137 | while(XPending(_display)) { | ^~~~~~~~ | sigpending ../ruby/video/xvideo.cpp:138:7: error: 'XEvent' was not declared in this scope; did you mean 'XvEvent'? 138 | XEvent event; | ^~~~~~ | XvEvent ../hiro/core/../gtk/widget/canvas.cpp:37:75: error: 'GDK_ENTER_NOTIFY_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:139:29: error: 'event' was not declared in this scope; did you mean 'servent'? 139 | XNextEvent(_display, &event); | ^~~~~ | servent ../ruby/video/xvideo.cpp:139:7: error: 'XNextEvent' was not declared in this scope; did you mean 'XvEvent'? 139 | XNextEvent(_display, &event); | ^~~~~~~~~~ | XvEvent ../ruby/video/xvideo.cpp:141:9: error: 'XWindowAttributes' was not declared in this scope 141 | XWindowAttributes attributes; | ^~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:142:50: error: 'attributes' was not declared in this scope 142 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:37:99: error: 'GDK_LEAVE_NOTIFY_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:37:123: error: 'GDK_POINTER_MOTION_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:142:9: error: 'XGetWindowAttributes' was not declared in this scope 142 | XGetWindowAttributes(_display, _window, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:36:3: error: 'gtk_widget_add_events' was not declared in this scope 36 | gtk_widget_add_events(gtkWidget, | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'bool VideoXVideo::initialize()': ../ruby/video/xvideo.cpp:153:5: error: '_display' was not declared in this scope 153 | _display = XOpenDisplay(nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:46:20: error: 'G_OBJECT' was not declared in this scope 46 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Canvas_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:46:63: error: 'G_CALLBACK' was not declared in this scope 46 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Canvas_mousePress), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:46:95: error: 'gpointer' was not declared in this scope 46 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Canvas_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:46:3: error: 'g_signal_connect' was not declared in this scope 46 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Canvas_mousePress), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:47:108: error: expected ')' before 'this' 47 | g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Widget_mouseRelease), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:48:98: error: expected ')' before 'this' 48 | g_signal_connect(G_OBJECT(gtkWidget), "drag-data-received", G_CALLBACK(Widget_drop), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:52:84: error: expected ')' before 'this' 52 | g_signal_connect(G_OBJECT(gtkWidget), "draw", G_CALLBACK(Canvas_draw), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:54:99: error: expected ')' before 'this' 54 | g_signal_connect(G_OBJECT(gtkWidget), "key-press-event", G_CALLBACK(Canvas_keyPress), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:55:104: error: expected ')' before 'this' 55 | g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Widget_mouseEnter), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:56:104: error: expected ')' before 'this' 56 | g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Widget_mouseLeave), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp:57:104: error: expected ')' before 'this' 57 | g_signal_connect(G_OBJECT(gtkWidget), "motion-notify-event", G_CALLBACK(Widget_mouseMove), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/canvas.cpp: In member function 'virtual void hiro::pCanvas::destruct()': ../hiro/core/../gtk/widget/canvas.cpp:64:6: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 64 | if(gtkWidget) gtk_widget_destroy(gtkWidget), gtkWidget = nullptr; | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:153:16: error: 'XOpenDisplay' was not declared in this scope 153 | _display = XOpenDisplay(nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:64:17: error: 'gtk_widget_destroy' was not declared in this scope 64 | if(gtkWidget) gtk_widget_destroy(gtkWidget), gtkWidget = nullptr; | ^~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:154:15: error: 'DefaultScreen' was not declared in this scope 154 | _screen = DefaultScreen(_display); | ^~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:154:15: note: the macro 'DefaultScreen' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:89: note: it was later defined here 89 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | ../hiro/core/../gtk/widget/canvas.cpp:65:3: error: 'gtkParent' was not declared in this scope 65 | gtkParent = nullptr; | ^~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp: In member function 'virtual void hiro::pCanvas::setFocusable(bool)': ../hiro/core/../gtk/widget/canvas.cpp:94:28: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 94 | gtk_widget_set_can_focus(gtkWidget, focusable); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:156:9: error: 'XShmQueryExtension' was not declared in this scope; did you mean 'XvQueryExtension'? 156 | if(!XShmQueryExtension(_display)) { | ^~~~~~~~~~~~~~~~~~ | XvQueryExtension ../hiro/core/../gtk/widget/canvas.cpp:94:3: error: 'gtk_widget_set_can_focus' was not declared in this scope 94 | gtk_widget_set_can_focus(gtkWidget, focusable); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp: At global scope: ../hiro/core/../gtk/widget/canvas.cpp:115:6: error: 'auto hiro::pCanvas::_onDraw' is not a static data member of 'struct hiro::pCanvas' 115 | auto pCanvas::_onDraw(cairo_t* context) -> void { | ^~~~~~~ ../ruby/video/xvideo.cpp:167:31: error: 'DefaultRootWindow' was not declared in this scope 167 | XvQueryAdaptors(_display, DefaultRootWindow(_display), &adaptorCount, &adaptorInfo); | ^~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:167:31: note: the macro 'DefaultRootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:90: note: it was later defined here 90 | #define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) | ../ruby/video/xvideo.cpp:167:20: error: 'XvQueryAdaptors' cannot be used as a function 167 | XvQueryAdaptors(_display, DefaultRootWindow(_display), &adaptorCount, &adaptorInfo); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:115:23: error: 'cairo_t' was not declared in this scope 115 | auto pCanvas::_onDraw(cairo_t* context) -> void { | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:115:32: error: 'context' was not declared in this scope; did you mean 'ucontext'? 115 | auto pCanvas::_onDraw(cairo_t* context) -> void { | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/canvas.cpp:115:41: error: expected ',' or ';' before '->' token 115 | auto pCanvas::_onDraw(cairo_t* context) -> void { | ^~ ../hiro/core/../gtk/widget/canvas.cpp:146:6: error: 'auto hiro::pCanvas::_onExpose' is not a static data member of 'struct hiro::pCanvas' 146 | auto pCanvas::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:146:25: error: 'GdkEventExpose' was not declared in this scope 146 | auto pCanvas::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:146:41: error: 'expose' was not declared in this scope; did you mean 'export'? 146 | auto pCanvas::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~ | export ../hiro/core/../gtk/widget/canvas.cpp:146:49: error: expected ',' or ';' before '->' token 146 | auto pCanvas::_onExpose(GdkEventExpose* expose) -> void { | ^~ ../ruby/video/xvideo.cpp:185:5: error: 'XVisualInfo' was not declared in this scope; did you mean 'VisualID'? 185 | XVisualInfo visualTemplate; | ^~~~~~~~~~~ | VisualID ../hiro/core/../gtk/widget/canvas.cpp: In member function 'void hiro::pCanvas::_rasterize()': ../hiro/core/../gtk/widget/canvas.cpp:171:7: error: 'surface' was not declared in this scope 171 | if(!surface) surface = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, width, height); | ^~~~~~~ ../ruby/video/xvideo.cpp:186:5: error: 'visualTemplate' was not declared in this scope 186 | visualTemplate.visualid = visualID; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:171:41: error: 'GDK_COLORSPACE_RGB' was not declared in this scope 171 | if(!surface) surface = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, width, height); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:171:26: error: 'gdk_pixbuf_new' was not declared in this scope 171 | if(!surface) surface = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8, width, height); | ^~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:48: error: 'VisualIDMask' was not declared in this scope 191 | auto visualInfo = XGetVisualInfo(_display, VisualIDMask | VisualScreenMask | VisualDepthMask, &visualTemplate, &visualMatches); | ^~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:48: note: the macro 'VisualIDMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xutil.h:305: note: it was later defined here 305 | #define VisualIDMask 0x1 | ../hiro/core/../gtk/widget/canvas.cpp:172:50: error: 'surface' was not declared in this scope 172 | auto buffer = (uint32_t*)gdk_pixbuf_get_pixels(surface); | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:172:28: error: 'gdk_pixbuf_get_pixels' was not declared in this scope 172 | auto buffer = (uint32_t*)gdk_pixbuf_get_pixels(surface); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:63: error: 'VisualScreenMask' was not declared in this scope 191 | auto visualInfo = XGetVisualInfo(_display, VisualIDMask | VisualScreenMask | VisualDepthMask, &visualTemplate, &visualMatches); | ^~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:63: note: the macro 'VisualScreenMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xutil.h:306: note: it was later defined here 306 | #define VisualScreenMask 0x2 | ../hiro/core/../gtk/widget/canvas.cpp: In member function 'void hiro::pCanvas::_redraw()': ../hiro/core/../gtk/widget/canvas.cpp:196:30: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 196 | if(gtk_widget_get_realized(gtkWidget)) { | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:191:82: error: 'VisualDepthMask' was not declared in this scope 191 | auto visualInfo = XGetVisualInfo(_display, VisualIDMask | VisualScreenMask | VisualDepthMask, &visualTemplate, &visualMatches); | ^~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:82: note: the macro 'VisualDepthMask' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xutil.h:307: note: it was later defined here 307 | #define VisualDepthMask 0x4 | ../hiro/core/../gtk/widget/canvas.cpp:196:6: error: 'gtk_widget_get_realized' was not declared in this scope 196 | if(gtk_widget_get_realized(gtkWidget)) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:191:23: error: 'XGetVisualInfo' was not declared in this scope; did you mean 'visualInfo'? 191 | auto visualInfo = XGetVisualInfo(_display, VisualIDMask | VisualScreenMask | VisualDepthMask, &visualTemplate, &visualMatches); | ^~~~~~~~~~~~~~ | visualInfo ../hiro/core/../gtk/widget/canvas.cpp:197:32: error: 'gtk_widget_get_window' was not declared in this scope 197 | gdk_window_invalidate_rect(gtk_widget_get_window(gtkWidget), nullptr, true); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:193:22: error: 'XFree' was not declared in this scope 193 | if(visualInfo) XFree(visualInfo); | ^~~~~ ../hiro/core/../gtk/widget/canvas.cpp:197:5: error: 'gdk_window_invalidate_rect' was not declared in this scope 197 | gdk_window_invalidate_rect(gtk_widget_get_window(gtkWidget), nullptr, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:198:33: error: 'RootWindow' was not declared in this scope 198 | _parent = self.fullScreen ? RootWindow(_display, _screen) : (Window)self.context; | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:198:33: note: the macro 'RootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:88: note: it was later defined here 88 | #define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root) | ../hiro/core/../gtk/widget/canvas.cpp: In member function 'void hiro::pCanvas::_release()': ../hiro/core/../gtk/widget/canvas.cpp:202:6: error: 'surface' was not declared in this scope 202 | if(surface) { | ^~~~~~~ ../hiro/core/../gtk/widget/canvas.cpp:203:5: error: 'g_object_unref' was not declared in this scope 203 | g_object_unref(surface); | ^~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:202:5: error: 'XWindowAttributes' was not declared in this scope 202 | XWindowAttributes windowAttributes{}; | ^~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:33: ../hiro/core/../gtk/widget/check-button.cpp: At global scope: ../hiro/core/../gtk/widget/check-button.cpp:5:32: error: 'GtkToggleButton' was not declared in this scope 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:5:49: error: 'toggleButton' was not declared in this scope 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:5:75: error: expected primary-expression before '*' token 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^ ../hiro/core/../gtk/widget/check-button.cpp:5:77: error: 'p' was not declared in this scope 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^ ../hiro/core/../gtk/widget/check-button.cpp:5:78: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^ ../hiro/core/../gtk/widget/check-button.cpp:5:80: error: expected ',' or ';' before '->' token 5 | static auto CheckButton_toggle(GtkToggleButton* toggleButton, pCheckButton* p) -> void { | ^~ ../hiro/core/../gtk/widget/check-button.cpp: In member function 'virtual void hiro::pCheckButton::construct()': ../hiro/core/../gtk/widget/check-button.cpp:11:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 11 | gtkWidget = gtk_toggle_button_new(); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:203:46: error: 'windowAttributes' was not declared in this scope 203 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:11:15: error: 'gtk_toggle_button_new' was not declared in this scope 11 | gtkWidget = gtk_toggle_button_new(); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:19:20: error: 'G_OBJECT' was not declared in this scope 19 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckButton_toggle), (gpointer)this); | ^~~~~~~~ ../ruby/video/xvideo.cpp:203:5: error: 'XGetWindowAttributes' was not declared in this scope 203 | XGetWindowAttributes(_display, _parent, &windowAttributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:19:52: error: 'G_CALLBACK' was not declared in this scope 19 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckButton_toggle), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:19:85: error: 'gpointer' was not declared in this scope 19 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckButton_toggle), (gpointer)this); | ^~~~~~~~ ../ruby/video/xvideo.cpp:211:17: error: 'XCreateColormap' was not declared in this scope; did you mean 'XNStdColormap'? 211 | _colormap = XCreateColormap(_display, _parent, visualInfo->visual, AllocNone); | ^~~~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/widget/check-button.cpp:19:3: error: 'g_signal_connect' was not declared in this scope 19 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckButton_toggle), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp: In member function 'virtual void hiro::pCheckButton::destruct()': ../hiro/core/../gtk/widget/check-button.cpp:25:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 25 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:212:5: error: 'XSetWindowAttributes' was not declared in this scope 212 | XSetWindowAttributes attributes{}; | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:25:3: error: 'gtk_widget_destroy' was not declared in this scope 25 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:213:5: error: 'attributes' was not declared in this scope 213 | attributes.border_pixel = 0; | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:216:15: error: 'XCreateWindow' was not declared in this scope 216 | _window = XCreateWindow(_display, _parent, | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp: In member function 'void hiro::pCheckButton::setBordered(bool)': ../hiro/core/../gtk/widget/check-button.cpp:45:36: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 45 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:45:25: error: 'GTK_BUTTON' was not declared in this scope 45 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:220:5: error: 'XSelectInput' was not declared in this scope 220 | XSelectInput(_display, _window, ExposureMask); | ^~~~~~~~~~~~ ../ruby/video/xvideo.cpp:221:5: error: 'XFree' was not declared in this scope 221 | XFree(visualInfo); | ^~~~~ ../hiro/core/../gtk/widget/check-button.cpp:45:59: error: 'GTK_RELIEF_NORMAL' was not declared in this scope 45 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:222:5: error: 'XSetWindowBackground' was not declared in this scope 222 | XSetWindowBackground(_display, _window, 0); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:45:79: error: 'GTK_RELIEF_NONE' was not declared in this scope 45 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:223:5: error: 'XMapWindow' was not declared in this scope; did you mean 'BadWindow'? 223 | XMapWindow(_display, _window); | ^~~~~~~~~~ | BadWindow ../ruby/video/xvideo.cpp:225:5: error: '_gc' was not declared in this scope 225 | _gc = XCreateGC(_display, _window, 0, 0); | ^~~ ../hiro/core/../gtk/widget/check-button.cpp:45:3: error: 'gtk_button_set_relief' was not declared in this scope 45 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:225:11: error: 'XCreateGC' was not declared in this scope; did you mean 'create'? 225 | _gc = XCreateGC(_display, _window, 0, 0); | ^~~~~~~~~ | create ../ruby/video/xvideo.cpp:228:47: error: 'XvQueryPortAttributes' cannot be used as a function 228 | auto attributeList = XvQueryPortAttributes(_display, _port, &attributeCount); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:230:38: error: no matching function for call to 'nall::string::string(<brace-enclosed initializer list>)' 230 | if(string{attributeList[n].name} == "XV_AUTOPAINT_COLORKEY") { | ^ ../nall/string.hpp:151:39: note: candidate: 'template<class T, class ... P> nall::string::string(T&&, P&& ...)' 151 | template<typename T, typename... P> string(T&& s, P&&... p) : string() { | ^~~~~~ ../nall/string.hpp:151:39: note: template argument deduction/substitution failed: ../nall/string.hpp:140:10: note: candidate: 'nall::string::string(nall::string&&)' 140 | inline string(string&& source) : string() { operator=(move(source)); } | ^~~~~~ ../nall/string.hpp:140:10: note: conversion of argument 1 would be ill-formed: ../nall/string.hpp:139:10: note: candidate: 'nall::string::string(const nall::string&)' 139 | inline string(const string& source) : string() { operator=(source); } | ^~~~~~ ../nall/string.hpp:139:10: note: conversion of argument 1 would be ill-formed: ../nall/string.hpp:138:10: note: candidate: 'nall::string::string(nall::string&)' 138 | inline string(string& source) : string() { operator=(source); } | ^~~~~~ ../nall/string.hpp:138:10: note: conversion of argument 1 would be ill-formed: In file included from ../nall/string/core.hpp:7, from ../nall/string.hpp:344: ../nall/string/allocator/adaptive.hpp:22:1: note: candidate: 'nall::string::string()' 22 | string::string() : _data(nullptr), _capacity(SSO - 1), _size(0) { | ^~~~~~ ../nall/string/allocator/adaptive.hpp:22:1: note: candidate expects 0 arguments, 1 provided ../hiro/core/../gtk/widget/check-button.cpp: In member function 'void hiro::pCheckButton::setChecked(bool)': ../hiro/core/../gtk/widget/check-button.cpp:50:50: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 50 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:50:32: error: 'GTK_TOGGLE_BUTTON' was not declared in this scope 50 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:232:21: error: 'XInternAtom' was not declared in this scope 232 | Atom atom = XInternAtom(_display, "XV_AUTOPAINT_COLORKEY", true); | ^~~~~~~~~~~ ../ruby/video/xvideo.cpp:233:44: error: 'XvSetPortAttribute' cannot be used as a function 233 | if(atom != None) XvSetPortAttribute(_display, _port, atom, 1); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:50:3: error: 'gtk_toggle_button_set_active' was not declared in this scope 50 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'void VideoXVideo::terminate()': ../ruby/video/xvideo.cpp:263:18: error: '_display' was not declared in this scope 263 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp: In member function 'void hiro::pCheckButton::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/check-button.cpp:56:5: error: 'GtkImage' was not declared in this scope 56 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:56:15: error: 'gtkImage' was not declared in this scope 56 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~ ../ruby/video/xvideo.cpp:263:7: error: 'XShmDetach' was not declared in this scope 263 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:266:7: error: 'XFree' was not declared in this scope 266 | XFree(_image); | ^~~~~ ../hiro/core/../gtk/widget/check-button.cpp:56:26: error: 'CreateImage' was not declared in this scope 56 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~~~~ ../ruby/video/xvideo.cpp:270:8: error: '_gc' was not declared in this scope 270 | if(_gc) { | ^~~ ../ruby/video/xvideo.cpp:271:15: error: '_display' was not declared in this scope 271 | XFreeGC(_display, _gc); | ^~~~~~~~ ../ruby/video/xvideo.cpp:271:7: error: 'XFreeGC' was not declared in this scope 271 | XFreeGC(_display, _gc); | ^~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:57:37: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 57 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:57:26: error: 'GTK_BUTTON' was not declared in this scope 57 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:276:20: error: '_display' was not declared in this scope 276 | XUnmapWindow(_display, _window); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:57:50: error: 'GtkWidget' was not declared in this scope; did you mean 'pWidget'? 57 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:57:60: error: expected primary-expression before ')' token 57 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^ ../ruby/video/xvideo.cpp:276:7: error: 'XUnmapWindow' was not declared in this scope 276 | XUnmapWindow(_display, _window); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:57:5: error: 'gtk_button_set_image' was not declared in this scope 57 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:59:37: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 59 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:59:26: error: 'GTK_BUTTON' was not declared in this scope 59 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:59:5: error: 'gtk_button_set_image' was not declared in this scope 59 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:281:21: error: '_display' was not declared in this scope 281 | XFreeColormap(_display, _colormap); | ^~~~~~~~ ../ruby/video/xvideo.cpp:281:7: error: 'XFreeColormap' was not declared in this scope; did you mean 'XNStdColormap'? 281 | XFreeColormap(_display, _colormap); | ^~~~~~~~~~~~~ | XNStdColormap ../hiro/core/../gtk/widget/check-button.cpp: In member function 'void hiro::pCheckButton::setOrientation(hiro::Orientation)': ../hiro/core/../gtk/widget/check-button.cpp:65:74: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 65 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-button.cpp:65:63: error: 'GTK_BUTTON' was not declared in this scope 65 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:65:86: error: 'GTK_POS_LEFT' was not declared in this scope 65 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~~~ ../ruby/video/xvideo.cpp:285:8: error: '_display' was not declared in this scope 285 | if(_display) { | ^~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:65:33: error: 'gtk_button_set_image_position' was not declared in this scope 65 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:66:86: error: 'GTK_POS_TOP' was not declared in this scope 66 | case Orientation::Vertical: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_TOP); break; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp: In member function 'void hiro::pCheckButton::setText(const nall::string&)': ../hiro/core/../gtk/widget/check-button.cpp:71:35: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 71 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:286:7: error: 'XCloseDisplay' was not declared in this scope 286 | XCloseDisplay(_display); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:71:24: error: 'GTK_BUTTON' was not declared in this scope 71 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'void VideoXVideo::queryAvailableFormats()': ../ruby/video/xvideo.cpp:304:37: error: '_display' was not declared in this scope 304 | auto array = XvListImageFormats(_display, _port, &count); | ^~~~~~~~ ../ruby/video/xvideo.cpp:304:36: error: 'XvListImageFormats' cannot be used as a function 304 | auto array = XvListImageFormats(_display, _port, &count); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-button.cpp:71:3: error: 'gtk_button_set_label' was not declared in this scope 71 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:34: ../hiro/core/../gtk/widget/check-label.cpp: At global scope: ../hiro/core/../gtk/widget/check-label.cpp:5:31: error: 'GtkToggleButton' was not declared in this scope 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp: In member function 'void VideoXVideo::resize(uint, uint)': ../ruby/video/xvideo.cpp:352:18: error: '_display' was not declared in this scope 352 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:5:48: error: 'toggleButton' was not declared in this scope 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:5:73: error: expected primary-expression before '*' token 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/check-label.cpp:5:75: error: 'p' was not declared in this scope 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/check-label.cpp:5:76: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/check-label.cpp:5:78: error: expected ',' or ';' before '->' token 5 | static auto CheckLabel_toggle(GtkToggleButton* toggleButton, pCheckLabel* p) -> void { | ^~ ../ruby/video/xvideo.cpp:352:7: error: 'XShmDetach' was not declared in this scope 352 | XShmDetach(_display, &_shmInfo); | ^~~~~~~~~~ ../ruby/video/xvideo.cpp:355:7: error: 'XFree' was not declared in this scope 355 | XFree(_image); | ^~~~~ ../ruby/video/xvideo.cpp:358:31: error: '_display' was not declared in this scope 358 | _image = XvShmCreateImage(_display, _port, _formatID, 0, _bufferWidth, _bufferHeight, &_shmInfo); | ^~~~~~~~ ../ruby/video/xvideo.cpp:358:30: error: 'XvShmCreateImage' cannot be used as a function 358 | _image = XvShmCreateImage(_display, _port, _formatID, 0, _bufferWidth, _bufferHeight, &_shmInfo); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/video/xvideo.cpp:362:14: error: 'struct XShmSegmentInfo' has no member named 'readOnly' 362 | _shmInfo.readOnly = false; | ^~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp: In member function 'virtual void hiro::pCheckLabel::construct()': ../hiro/core/../gtk/widget/check-label.cpp:11:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 11 | gtkWidget = gtk_check_button_new_with_label(""); | ^~~~~~~~~ | pWidget ../ruby/video/xvideo.cpp:363:5: error: 'XShmAttach' was not declared in this scope 363 | XShmAttach(_display, &_shmInfo); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:11:15: error: 'gtk_check_button_new_with_label' was not declared in this scope 11 | gtkWidget = gtk_check_button_new_with_label(""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:16:20: error: 'G_OBJECT' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckLabel_toggle), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:16:52: error: 'G_CALLBACK' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckLabel_toggle), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:16:84: error: 'gpointer' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckLabel_toggle), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:16:3: error: 'g_signal_connect' was not declared in this scope 16 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(CheckLabel_toggle), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp: In member function 'virtual void hiro::pCheckLabel::destruct()': ../hiro/core/../gtk/widget/check-label.cpp:22:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 22 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-label.cpp:22:3: error: 'gtk_widget_destroy' was not declared in this scope 22 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp: In member function 'void hiro::pCheckLabel::setChecked(bool)': ../hiro/core/../gtk/widget/check-label.cpp:32:50: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 32 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-label.cpp:32:32: error: 'GTK_TOGGLE_BUTTON' was not declared in this scope 32 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:32:3: error: 'gtk_toggle_button_set_active' was not declared in this scope 32 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gtkWidget), checked); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp: In member function 'void hiro::pCheckLabel::setText(const nall::string&)': ../hiro/core/../gtk/widget/check-label.cpp:37:35: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 37 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/check-label.cpp:37:24: error: 'GTK_BUTTON' was not declared in this scope 37 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/check-label.cpp:37:3: error: 'gtk_button_set_label' was not declared in this scope 37 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:35: ../hiro/core/../gtk/widget/combo-button.cpp: At global scope: ../hiro/core/../gtk/widget/combo-button.cpp:5:32: error: 'GtkComboBox' was not declared in this scope 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:5:45: error: 'comboBox' was not declared in this scope 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:5:67: error: expected primary-expression before '*' token 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/combo-button.cpp:5:69: error: 'p' was not declared in this scope 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/combo-button.cpp:5:70: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/combo-button.cpp:5:72: error: expected ',' or ';' before '->' token 5 | static auto ComboButton_change(GtkComboBox* comboBox, pComboButton* p) -> void { p->_updateSelected(); } | ^~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'virtual void hiro::pComboButton::construct()': ../hiro/core/../gtk/widget/combo-button.cpp:8:3: error: 'gtkListStore' was not declared in this scope 8 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:8:40: error: 'GDK_TYPE_PIXBUF' was not declared in this scope 8 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:8:57: error: 'G_TYPE_STRING' was not declared in this scope 8 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:8:18: error: 'gtk_list_store_new' was not declared in this scope 8 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:9:3: error: 'gtkTreeModel' was not declared in this scope 9 | gtkTreeModel = GTK_TREE_MODEL(gtkListStore); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:9:18: error: 'GTK_TREE_MODEL' was not declared in this scope 9 | gtkTreeModel = GTK_TREE_MODEL(gtkListStore); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:10:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 10 | gtkWidget = gtk_combo_box_new_with_model(gtkTreeModel); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/combo-button.cpp:10:15: error: 'gtk_combo_box_new_with_model' was not declared in this scope 10 | gtkWidget = gtk_combo_box_new_with_model(gtkTreeModel); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:11:3: error: 'gtkComboBox' was not declared in this scope 11 | gtkComboBox = GTK_COMBO_BOX(gtkWidget); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:11:17: error: 'GTK_COMBO_BOX' was not declared in this scope 11 | gtkComboBox = GTK_COMBO_BOX(gtkWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:13:3: error: 'gtkCellIcon' was not declared in this scope 13 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:13:17: error: 'gtk_cell_renderer_pixbuf_new' was not declared in this scope 13 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:14:30: error: 'GTK_CELL_LAYOUT' was not declared in this scope 14 | gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkWidget), gtkCellIcon, false); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:14:3: error: 'gtk_cell_layout_pack_start' was not declared in this scope 14 | gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkWidget), gtkCellIcon, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:15:3: error: 'gtk_cell_layout_set_attributes' was not declared in this scope 15 | gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkWidget), gtkCellIcon, "pixbuf", 0, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:16:3: error: 'gtkCellText' was not declared in this scope 16 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:16:17: error: 'gtk_cell_renderer_text_new' was not declared in this scope 16 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:20:20: error: 'G_OBJECT' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(ComboButton_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:20:52: error: 'G_CALLBACK' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(ComboButton_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:20:85: error: 'gpointer' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(ComboButton_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:20:3: error: 'g_signal_connect' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(ComboButton_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'virtual void hiro::pComboButton::destruct()': ../hiro/core/../gtk/widget/combo-button.cpp:26:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/combo-button.cpp:26:3: error: 'gtk_widget_destroy' was not declared in this scope 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'void hiro::pComboButton::remove(hiro::sComboButtonItem)': ../hiro/core/../gtk/widget/combo-button.cpp:47:27: error: 'gtkListStore' was not declared in this scope 47 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:47:52: error: 'struct hiro::pComboButtonItem' has no member named 'gtkIter' 47 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:47:5: error: 'gtk_list_store_remove' was not declared in this scope 47 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:48:33: error: 'gtkComboBox' was not declared in this scope 48 | if(gtk_combo_box_get_active(gtkComboBox) < 0) { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:48:8: error: 'gtk_combo_box_get_active' was not declared in this scope 48 | if(gtk_combo_box_get_active(gtkComboBox) < 0) { | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'virtual void hiro::pComboButton::reset()': ../hiro/core/../gtk/widget/combo-button.cpp:57:24: error: 'gtkListStore' was not declared in this scope 57 | gtk_list_store_clear(gtkListStore); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:57:3: error: 'gtk_list_store_clear' was not declared in this scope 57 | gtk_list_store_clear(gtkListStore); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'virtual void hiro::pComboButton::setFont(const hiro::Font&)': ../hiro/core/../gtk/widget/combo-button.cpp:63:33: error: 'create' is not a member of 'hiro::pFont' 63 | auto fontDescription = pFont::create(font); | ^~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:64:25: error: 'gtkCellText' was not declared in this scope 64 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:64:16: error: 'G_OBJECT' was not declared in this scope 64 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:64:3: error: 'g_object_set' was not declared in this scope 64 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'void hiro::pComboButton::_append(hiro::sComboButtonItem)': ../hiro/core/../gtk/widget/combo-button.cpp:70:27: error: 'gtkListStore' was not declared in this scope 70 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:70:48: error: 'struct hiro::pComboButtonItem' has no member named 'gtkIter' 70 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:70:5: error: 'gtk_list_store_append' was not declared in this scope 70 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:75:31: error: 'gtkComboBox' was not declared in this scope 75 | if(gtk_combo_box_get_active(gtkComboBox) < 0) item->setSelected(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:75:6: error: 'gtk_combo_box_get_active' was not declared in this scope 75 | if(gtk_combo_box_get_active(gtkComboBox) < 0) item->setSelected(); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp: In member function 'void hiro::pComboButton::_updateSelected()': ../hiro/core/../gtk/widget/combo-button.cpp:81:46: error: 'gtkComboBox' was not declared in this scope 81 | signed selected = gtk_combo_box_get_active(gtkComboBox); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button.cpp:81:21: error: 'gtk_combo_box_get_active' was not declared in this scope 81 | signed selected = gtk_combo_box_get_active(gtkComboBox); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:36: ../hiro/core/../gtk/widget/combo-button-item.cpp: In member function 'void hiro::pComboButtonItem::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/combo-button-item.cpp:14:19: error: 'CreatePixbuf' was not declared in this scope 14 | auto pixbuf = CreatePixbuf(icon, true); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:15:32: error: 'struct hiro::pComboButton' has no member named 'gtkListStore' 15 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:15:47: error: 'gtkIter' was not declared in this scope 15 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:15:5: error: 'gtk_list_store_set' was not declared in this scope 15 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp: In member function 'void hiro::pComboButtonItem::setSelected()': ../hiro/core/../gtk/widget/combo-button-item.cpp:22:38: error: 'struct hiro::pComboButton' has no member named 'gtkComboBox' 22 | gtk_combo_box_set_active(parent->gtkComboBox, self().offset()); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:22:5: error: 'gtk_combo_box_set_active' was not declared in this scope 22 | gtk_combo_box_set_active(parent->gtkComboBox, self().offset()); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp: In member function 'void hiro::pComboButtonItem::setText(const nall::string&)': ../hiro/core/../gtk/widget/combo-button-item.cpp:29:32: error: 'struct hiro::pComboButton' has no member named 'gtkListStore' 29 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:29:47: error: 'gtkIter' was not declared in this scope 29 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-button-item.cpp:29:5: error: 'gtk_list_store_set' was not declared in this scope 29 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:37: ../hiro/core/../gtk/widget/combo-edit.cpp: At global scope: ../hiro/core/../gtk/widget/combo-edit.cpp:5:32: error: 'GtkComboBox' was not declared in this scope 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:5:45: error: 'comboBox' was not declared in this scope 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:5:65: error: expected primary-expression before '*' token 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:5:67: error: 'p' was not declared in this scope 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:5:68: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:5:70: error: expected ',' or ';' before '->' token 5 | static auto ComboEdit_activate(GtkComboBox* comboBox, pComboEdit* p) -> void { p->self().doActivate(); } | ^~ ../hiro/core/../gtk/widget/combo-edit.cpp:6:30: error: 'GtkComboBox' was not declared in this scope 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:6:43: error: 'comboBox' was not declared in this scope 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:6:63: error: expected primary-expression before '*' token 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:6:65: error: 'p' was not declared in this scope 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:6:66: error: expression list treated as compound expression in initializer [-fpermissive] 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^ ../hiro/core/../gtk/widget/combo-edit.cpp:6:68: error: expected ',' or ';' before '->' token 6 | static auto ComboEdit_change(GtkComboBox* comboBox, pComboEdit* p) -> void { p->_updateText(); } | ^~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'virtual void hiro::pComboEdit::construct()': ../hiro/core/../gtk/widget/combo-edit.cpp:9:3: error: 'gtkListStore' was not declared in this scope 9 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:9:40: error: 'GDK_TYPE_PIXBUF' was not declared in this scope 9 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:9:57: error: 'G_TYPE_STRING' was not declared in this scope 9 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:9:18: error: 'gtk_list_store_new' was not declared in this scope 9 | gtkListStore = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:10:3: error: 'gtkTreeModel' was not declared in this scope 10 | gtkTreeModel = GTK_TREE_MODEL(gtkListStore); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:10:18: error: 'GTK_TREE_MODEL' was not declared in this scope 10 | gtkTreeModel = GTK_TREE_MODEL(gtkListStore); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:11:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 11 | gtkWidget = gtk_combo_box_new_with_model_and_entry(gtkTreeModel); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/combo-edit.cpp:11:15: error: 'gtk_combo_box_new_with_model_and_entry' was not declared in this scope 11 | gtkWidget = gtk_combo_box_new_with_model_and_entry(gtkTreeModel); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:12:3: error: 'gtkComboBox' was not declared in this scope 12 | gtkComboBox = GTK_COMBO_BOX(gtkWidget); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:12:17: error: 'GTK_COMBO_BOX' was not declared in this scope 12 | gtkComboBox = GTK_COMBO_BOX(gtkWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:14:25: error: 'GTK_CELL_LAYOUT' was not declared in this scope 14 | gtk_cell_layout_clear(GTK_CELL_LAYOUT(gtkWidget)); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:14:3: error: 'gtk_cell_layout_clear' was not declared in this scope 14 | gtk_cell_layout_clear(GTK_CELL_LAYOUT(gtkWidget)); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:15:3: error: 'gtkCellIcon' was not declared in this scope 15 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:15:17: error: 'gtk_cell_renderer_pixbuf_new' was not declared in this scope 15 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:16:3: error: 'gtk_cell_layout_pack_start' was not declared in this scope 16 | gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gtkWidget), gtkCellIcon, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:17:3: error: 'gtk_cell_layout_set_attributes' was not declared in this scope 17 | gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gtkWidget), gtkCellIcon, "pixbuf", 0, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:18:3: error: 'gtkCellText' was not declared in this scope 18 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:18:17: error: 'gtk_cell_renderer_text_new' was not declared in this scope 18 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:29:3: error: 'gtk_combo_box_set_entry_text_column' was not declared in this scope 29 | gtk_combo_box_set_entry_text_column(gtkComboBox, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:47: error: 'GTK_BIN' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:29: error: 'gtk_bin_get_child' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:20: error: 'G_OBJECT' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:83: error: 'G_CALLBACK' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:116: error: 'gpointer' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:39:3: error: 'g_signal_connect' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(gtkComboBox))), "activate", G_CALLBACK(ComboEdit_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:40:92: error: expected ')' before 'this' 40 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(ComboEdit_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'virtual void hiro::pComboEdit::destruct()': ../hiro/core/../gtk/widget/combo-edit.cpp:46:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 46 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/combo-edit.cpp:46:3: error: 'gtk_widget_destroy' was not declared in this scope 46 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::append(hiro::sComboEditItem)': ../hiro/core/../gtk/widget/combo-edit.cpp:52:27: error: 'gtkListStore' was not declared in this scope 52 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:52:48: error: 'struct hiro::pComboEditItem' has no member named 'gtkIter' 52 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:52:5: error: 'gtk_list_store_append' was not declared in this scope 52 | gtk_list_store_append(gtkListStore, &self->gtkIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::remove(hiro::sComboEditItem)': ../hiro/core/../gtk/widget/combo-edit.cpp:74:27: error: 'gtkListStore' was not declared in this scope 74 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:74:52: error: 'struct hiro::pComboEditItem' has no member named 'gtkIter' 74 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:74:5: error: 'gtk_list_store_remove' was not declared in this scope 74 | gtk_list_store_remove(gtkListStore, &delegate->gtkIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'virtual void hiro::pComboEdit::reset()': ../hiro/core/../gtk/widget/combo-edit.cpp:81:24: error: 'gtkListStore' was not declared in this scope 81 | gtk_list_store_clear(gtkListStore); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:81:3: error: 'gtk_list_store_clear' was not declared in this scope 81 | gtk_list_store_clear(gtkListStore); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/combo-edit.cpp:86:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 86 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/combo-edit.cpp:87:52: error: 'gtkComboBox' was not declared in this scope 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:87:44: error: 'GTK_BIN' was not declared in this scope 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:87:26: error: 'gtk_bin_get_child' was not declared in this scope 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:87:67: error: 'GTK_STATE_NORMAL' was not declared in this scope 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:87:94: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/combo-edit.cpp:87:3: error: 'gtk_widget_modify_base' was not declared in this scope 87 | gtk_widget_modify_base(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::setEditable(bool)': ../hiro/core/../gtk/widget/combo-edit.cpp:91:68: error: 'gtkComboBox' was not declared in this scope 91 | gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(gtkComboBox))), editable); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:91:60: error: 'GTK_BIN' was not declared in this scope 91 | gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(gtkComboBox))), editable); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:91:42: error: 'gtk_bin_get_child' was not declared in this scope 91 | gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(gtkComboBox))), editable); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:91:29: error: 'GTK_EDITABLE' was not declared in this scope 91 | gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(gtkComboBox))), editable); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:91:3: error: 'gtk_editable_set_editable' was not declared in this scope 91 | gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(gtkComboBox))), editable); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/combo-edit.cpp:95:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 95 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/combo-edit.cpp:96:52: error: 'gtkComboBox' was not declared in this scope 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:96:44: error: 'GTK_BIN' was not declared in this scope 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:96:26: error: 'gtk_bin_get_child' was not declared in this scope 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:96:67: error: 'GTK_STATE_NORMAL' was not declared in this scope 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:96:94: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/combo-edit.cpp:96:3: error: 'gtk_widget_modify_text' was not declared in this scope 96 | gtk_widget_modify_text(gtk_bin_get_child(GTK_BIN(gtkComboBox)), GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'virtual void hiro::pComboEdit::setFont(const hiro::Font&)': ../hiro/core/../gtk/widget/combo-edit.cpp:101:33: error: 'create' is not a member of 'hiro::pFont' 101 | auto fontDescription = pFont::create(font); | ^~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:102:25: error: 'gtkCellText' was not declared in this scope 102 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:102:16: error: 'G_OBJECT' was not declared in this scope 102 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:102:3: error: 'g_object_set' was not declared in this scope 102 | g_object_set(G_OBJECT(gtkCellText), "font-desc", fontDescription, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::setText(const nall::string&)': ../hiro/core/../gtk/widget/combo-edit.cpp:107:58: error: 'gtkComboBox' was not declared in this scope 107 | gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox))), text); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:107:50: error: 'GTK_BIN' was not declared in this scope 107 | gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox))), text); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:107:32: error: 'gtk_bin_get_child' was not declared in this scope 107 | gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox))), text); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:107:22: error: 'GTK_ENTRY' was not declared in this scope; did you mean 'AT_ENTRY'? 107 | gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox))), text); | ^~~~~~~~~ | AT_ENTRY ../hiro/core/../gtk/widget/combo-edit.cpp:107:3: error: 'gtk_entry_set_text' was not declared in this scope 107 | gtk_entry_set_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox))), text); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp: In member function 'void hiro::pComboEdit::_updateText()': ../hiro/core/../gtk/widget/combo-edit.cpp:112:72: error: 'gtkComboBox' was not declared in this scope 112 | string text = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox)))); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:112:64: error: 'GTK_BIN' was not declared in this scope 112 | string text = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox)))); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:112:46: error: 'gtk_bin_get_child' was not declared in this scope 112 | string text = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox)))); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit.cpp:112:36: error: 'GTK_ENTRY' was not declared in this scope; did you mean 'AT_ENTRY'? 112 | string text = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox)))); | ^~~~~~~~~ | AT_ENTRY ../hiro/core/../gtk/widget/combo-edit.cpp:112:17: error: 'gtk_entry_get_text' was not declared in this scope 112 | string text = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(gtkComboBox)))); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:38: ../hiro/core/../gtk/widget/combo-edit-item.cpp: In member function 'void hiro::pComboEditItem::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/combo-edit-item.cpp:13:19: error: 'CreatePixbuf' was not declared in this scope 13 | auto pixbuf = CreatePixbuf(icon, true); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp:14:32: error: 'struct hiro::pComboEdit' has no member named 'gtkListStore' 14 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp:14:47: error: 'gtkIter' was not declared in this scope 14 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp:14:5: error: 'gtk_list_store_set' was not declared in this scope 14 | gtk_list_store_set(parent->gtkListStore, >kIter, 0, pixbuf, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp: In member function 'void hiro::pComboEditItem::setText(const nall::string&)': ../hiro/core/../gtk/widget/combo-edit-item.cpp:20:32: error: 'struct hiro::pComboEdit' has no member named 'gtkListStore' 20 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp:20:47: error: 'gtkIter' was not declared in this scope 20 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~ ../hiro/core/../gtk/widget/combo-edit-item.cpp:20:5: error: 'gtk_list_store_set' was not declared in this scope 20 | gtk_list_store_set(parent->gtkListStore, >kIter, 1, text.data(), -1); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:39: ../hiro/core/../gtk/widget/console.cpp: At global scope: ../hiro/core/../gtk/widget/console.cpp:5:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/console.cpp:5:40: error: expected primary-expression before ',' token 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^ ../hiro/core/../gtk/widget/console.cpp:5:42: error: 'GdkEventKey' was not declared in this scope 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:5:55: error: 'event' was not declared in this scope; did you mean 'servent'? 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/console.cpp:5:70: error: expected primary-expression before '*' token 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^ ../hiro/core/../gtk/widget/console.cpp:5:72: error: 'p' was not declared in this scope 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^ ../hiro/core/../gtk/widget/console.cpp:5:73: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^ ../hiro/core/../gtk/widget/console.cpp:5:75: error: expected ',' or ';' before '->' token 5 | static auto Console_keyPress(GtkWidget*, GdkEventKey* event, pConsole* p) -> signed { | ^~ ../hiro/core/../gtk/widget/console.cpp: In member function 'virtual void hiro::pConsole::construct()': ../hiro/core/../gtk/widget/console.cpp:10:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 10 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/console.cpp:10:15: error: 'gtk_scrolled_window_new' was not declared in this scope 10 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:11:34: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 11 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:11:66: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 11 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../ruby/input/sdl.cpp:5, from ../ruby/input/input.cpp:10: ../ruby/input/keyboard/xlib.cpp: At global scope: ../ruby/input/keyboard/xlib.cpp:9:3: error: 'Display' does not name a type 9 | Display* display = nullptr; | ^~~~~~~ ../hiro/core/../gtk/widget/console.cpp:11:88: error: 'GTK_POLICY_ALWAYS' was not declared in this scope 11 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:11:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 11 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:12:71: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 12 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:12:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 12 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:14:3: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 14 | subWidget = gtk_text_view_new(); | ^~~~~~~~~ | sWidget ../ruby/input/keyboard/xlib.cpp: In member function 'void InputKeyboardXlib::poll(nall::vector<nall::shared_pointer<nall::HID::Device> >&)': ../ruby/input/keyboard/xlib.cpp:27:5: error: 'XQueryKeymap' was not declared in this scope 27 | XQueryKeymap(display, state); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:14:15: error: 'gtk_text_view_new' was not declared in this scope 14 | subWidget = gtk_text_view_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:15:3: error: 'gtk_widget_show' was not declared in this scope 15 | gtk_widget_show(subWidget); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:16:30: error: 'GTK_TEXT_VIEW' was not declared in this scope 16 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), false); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:16:3: error: 'gtk_text_view_set_editable' was not declared in this scope 16 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp: In member function 'bool InputKeyboardXlib::initialize()': ../ruby/input/keyboard/xlib.cpp:39:15: error: 'XOpenDisplay' was not declared in this scope 39 | display = XOpenDisplay(0); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:17:57: error: 'GTK_WRAP_NONE' was not declared in this scope 17 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_NONE); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:41:28: error: 'XK_Escape' was not declared in this scope 41 | keys.append({"Escape", XK_Escape}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:41:28: note: the macro 'XK_Escape' had not yet been defined In file included from /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysym.h:73, from /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xutil.h:54: /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:208: note: it was later defined here 208 | #define XK_Escape 0xff1b /* U+001B ESCAPE */ | ../ruby/input/keyboard/xlib.cpp:41:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 41 | keys.append({"Escape", XK_Escape}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:17:3: error: 'gtk_text_view_set_wrap_mode' was not declared in this scope 17 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:43:24: error: 'XK_F1' was not declared in this scope 43 | keys.append({"F1", XK_F1}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:43:24: note: the macro 'XK_F1' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:328: note: it was later defined here 328 | #define XK_F1 0xffbe | ../ruby/input/keyboard/xlib.cpp:43:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 43 | keys.append({"F1", XK_F1}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:18:21: error: 'GTK_CONTAINER' was not declared in this scope 18 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:18:3: error: 'gtk_container_add' was not declared in this scope 18 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:44:24: error: 'XK_F2' was not declared in this scope 44 | keys.append({"F2", XK_F2}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:44:24: note: the macro 'XK_F2' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:329: note: it was later defined here 329 | #define XK_F2 0xffbf | ../ruby/input/keyboard/xlib.cpp:44:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 44 | keys.append({"F2", XK_F2}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:20:3: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 20 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/console.cpp:20:16: error: 'gtk_text_view_get_buffer' was not declared in this scope 20 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:45:24: error: 'XK_F3' was not declared in this scope 45 | keys.append({"F3", XK_F3}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:45:24: note: the macro 'XK_F3' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:330: note: it was later defined here 330 | #define XK_F3 0xffc0 | ../ruby/input/keyboard/xlib.cpp:45:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 45 | keys.append({"F3", XK_F3}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:25:20: error: 'G_OBJECT' was not declared in this scope 25 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(Console_keyPress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:25:60: error: 'G_CALLBACK' was not declared in this scope 25 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(Console_keyPress), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:25:91: error: 'gpointer' was not declared in this scope 25 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(Console_keyPress), (gpointer)this); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:46:24: error: 'XK_F4' was not declared in this scope 46 | keys.append({"F4", XK_F4}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:46:24: note: the macro 'XK_F4' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:331: note: it was later defined here 331 | #define XK_F4 0xffc1 | ../ruby/input/keyboard/xlib.cpp:46:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 46 | keys.append({"F4", XK_F4}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../ruby/input/keyboard/xlib.cpp:47:24: error: 'XK_F5' was not declared in this scope 47 | keys.append({"F5", XK_F5}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:47:24: note: the macro 'XK_F5' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:332: note: it was later defined here 332 | #define XK_F5 0xffc2 | ../ruby/input/keyboard/xlib.cpp:47:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 47 | keys.append({"F5", XK_F5}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:25:3: error: 'g_signal_connect' was not declared in this scope 25 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(Console_keyPress), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp: In member function 'virtual void hiro::pConsole::destruct()': ../hiro/core/../gtk/widget/console.cpp:31:22: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 31 | gtk_widget_destroy(subWidget); | ^~~~~~~~~ | sWidget ../ruby/input/keyboard/xlib.cpp:48:24: error: 'XK_F6' was not declared in this scope 48 | keys.append({"F6", XK_F6}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:48:24: note: the macro 'XK_F6' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:333: note: it was later defined here 333 | #define XK_F6 0xffc3 | ../ruby/input/keyboard/xlib.cpp:48:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 48 | keys.append({"F6", XK_F6}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:31:3: error: 'gtk_widget_destroy' was not declared in this scope 31 | gtk_widget_destroy(subWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:32:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 32 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::print(const nall::string&)': ../hiro/core/../gtk/widget/console.cpp:37:3: error: 'GtkTextIter' was not declared in this scope 37 | GtkTextIter iter; | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:49:24: error: 'XK_F7' was not declared in this scope 49 | keys.append({"F7", XK_F7}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:49:24: note: the macro 'XK_F7' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:334: note: it was later defined here 334 | #define XK_F7 0xffc4 | ../ruby/input/keyboard/xlib.cpp:49:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 49 | keys.append({"F7", XK_F7}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:38:43: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 38 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &iter, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/console.cpp:38:56: error: 'iter' was not declared in this scope 38 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &iter, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~ ../hiro/core/../gtk/widget/console.cpp:38:62: error: 'gtk_text_buffer_get_line_count' was not declared in this scope 38 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &iter, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:50:24: error: 'XK_F8' was not declared in this scope 50 | keys.append({"F8", XK_F8}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:50:24: note: the macro 'XK_F8' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:335: note: it was later defined here 335 | #define XK_F8 0xffc5 | ../ruby/input/keyboard/xlib.cpp:50:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 50 | keys.append({"F8", XK_F8}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:38:3: error: 'gtk_text_buffer_get_iter_at_line_offset' was not declared in this scope 38 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &iter, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:39:3: error: 'gtk_text_buffer_insert' was not declared in this scope 39 | gtk_text_buffer_insert(textBuffer, &iter, text, -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:51:24: error: 'XK_F9' was not declared in this scope 51 | keys.append({"F9", XK_F9}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:51:24: note: the macro 'XK_F9' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:336: note: it was later defined here 336 | #define XK_F9 0xffc6 | ../ruby/input/keyboard/xlib.cpp:51:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 51 | keys.append({"F9", XK_F9}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp: In member function 'virtual void hiro::pConsole::reset()': ../hiro/core/../gtk/widget/console.cpp:45:28: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 45 | gtk_text_buffer_set_text(textBuffer, state().prompt, -1); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/console.cpp:45:3: error: 'gtk_text_buffer_set_text' was not declared in this scope 45 | gtk_text_buffer_set_text(textBuffer, state().prompt, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:52:25: error: 'XK_F10' was not declared in this scope 52 | keys.append({"F10", XK_F10}); | ^~~~~~ ../ruby/input/keyboard/xlib.cpp:52:25: note: the macro 'XK_F10' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:337: note: it was later defined here 337 | #define XK_F10 0xffc7 | ../ruby/input/keyboard/xlib.cpp:52:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 52 | keys.append({"F10", XK_F10}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/console.cpp:50:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 50 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/console.cpp:51:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/console.cpp:51:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:53:25: error: 'XK_F11' was not declared in this scope 53 | keys.append({"F11", XK_F11}); | ^~~~~~ ../ruby/input/keyboard/xlib.cpp:53:25: note: the macro 'XK_F11' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:338: note: it was later defined here 338 | #define XK_F11 0xffc8 | ../ruby/input/keyboard/xlib.cpp:53:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 53 | keys.append({"F11", XK_F11}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:51:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../ruby/input/keyboard/xlib.cpp:54:25: error: 'XK_F12' was not declared in this scope 54 | keys.append({"F12", XK_F12}); | ^~~~~~ ../ruby/input/keyboard/xlib.cpp:54:25: note: the macro 'XK_F12' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:340: note: it was later defined here 340 | #define XK_F12 0xffc9 | ../ruby/input/keyboard/xlib.cpp:54:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 54 | keys.append({"F12", XK_F12}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:51:3: error: 'gtk_widget_modify_base' was not declared in this scope 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/console.cpp:55:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 55 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/console.cpp:56:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 56 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/console.cpp:56:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 56 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:56:32: error: 'XK_Scroll_Lock' was not declared in this scope 56 | keys.append({"ScrollLock", XK_Scroll_Lock}); | ^~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:56:32: note: the macro 'XK_Scroll_Lock' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:206: note: it was later defined here 206 | #define XK_Scroll_Lock 0xff14 | ../ruby/input/keyboard/xlib.cpp:56:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 56 | keys.append({"ScrollLock", XK_Scroll_Lock}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:56:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 56 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/console.cpp:56:3: error: 'gtk_widget_modify_text' was not declared in this scope 56 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:57:27: error: 'XK_Pause' was not declared in this scope 57 | keys.append({"Pause", XK_Pause}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:57:27: note: the macro 'XK_Pause' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:205: note: it was later defined here 205 | #define XK_Pause 0xff13 /* Pause, hold */ | ../ruby/input/keyboard/xlib.cpp:57:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 57 | keys.append({"Pause", XK_Pause}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::setPrompt(const nall::string&)': ../hiro/core/../gtk/widget/console.cpp:61:3: error: 'GtkTextIter' was not declared in this scope 61 | GtkTextIter lhs, rhs; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:62:43: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 62 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &lhs, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/console.cpp:62:56: error: 'lhs' was not declared in this scope 62 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &lhs, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~ ../hiro/core/../gtk/widget/console.cpp:62:61: error: 'gtk_text_buffer_get_line_count' was not declared in this scope 62 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &lhs, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:59:27: error: 'XK_asciitilde' was not declared in this scope 59 | keys.append({"Tilde", XK_asciitilde}); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:59:27: note: the macro 'XK_asciitilde' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:719: note: it was later defined here 719 | #define XK_asciitilde 0x007e /* U+007E TILDE */ | ../ruby/input/keyboard/xlib.cpp:59:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 59 | keys.append({"Tilde", XK_asciitilde}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:62:3: error: 'gtk_text_buffer_get_iter_at_line_offset' was not declared in this scope 62 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &lhs, gtk_text_buffer_get_line_count(textBuffer), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:63:56: error: 'rhs' was not declared in this scope 63 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &rhs, gtk_text_buffer_get_line_count(textBuffer), previousPrompt.size()); | ^~~ ../hiro/core/../gtk/widget/console.cpp:64:3: error: 'gtk_text_buffer_delete' was not declared in this scope 64 | gtk_text_buffer_delete(textBuffer, &lhs, &rhs); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:61:26: error: 'XK_0' was not declared in this scope 61 | keys.append({"Num0", XK_0}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:61:26: note: the macro 'XK_0' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:640: note: it was later defined here 640 | #define XK_0 0x0030 /* U+0030 DIGIT ZERO */ | ../ruby/input/keyboard/xlib.cpp:61:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 61 | keys.append({"Num0", XK_0}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:66:3: error: 'gtk_text_buffer_insert' was not declared in this scope 66 | gtk_text_buffer_insert(textBuffer, &lhs, previousPrompt = prompt, -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp: In member function 'bool hiro::pConsole::_keyPress(unsigned int, unsigned int)': ../hiro/core/../gtk/widget/console.cpp:71:14: error: 'GDK_CONTROL_MASK' was not declared in this scope 71 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:62:26: error: 'XK_1' was not declared in this scope 62 | keys.append({"Num1", XK_1}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:62:26: note: the macro 'XK_1' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:641: note: it was later defined here 641 | #define XK_1 0x0031 /* U+0031 DIGIT ONE */ | ../ruby/input/keyboard/xlib.cpp:62:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 62 | keys.append({"Num1", XK_1}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:71:33: error: 'GDK_MOD1_MASK' was not declared in this scope 71 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:71:49: error: 'GDK_SUPER_MASK' was not declared in this scope 71 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:63:26: error: 'XK_2' was not declared in this scope 63 | keys.append({"Num2", XK_2}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:63:26: note: the macro 'XK_2' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:642: note: it was later defined here 642 | #define XK_2 0x0032 /* U+0032 DIGIT TWO */ | ../ruby/input/keyboard/xlib.cpp:63:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 63 | keys.append({"Num2", XK_2}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:73:3: error: 'GtkTextMark' was not declared in this scope 73 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:73:16: error: 'mark' was not declared in this scope; did you mean 'mask'? 73 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~ | mask ../hiro/core/../gtk/widget/console.cpp:73:48: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 73 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~ | setbuffer ../ruby/input/keyboard/xlib.cpp:64:26: error: 'XK_3' was not declared in this scope 64 | keys.append({"Num3", XK_3}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:64:26: note: the macro 'XK_3' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:643: note: it was later defined here 643 | #define XK_3 0x0033 /* U+0033 DIGIT THREE */ | ../ruby/input/keyboard/xlib.cpp:64:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 64 | keys.append({"Num3", XK_3}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:73:23: error: 'gtk_text_buffer_get_mark' was not declared in this scope 73 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:74:3: error: 'GtkTextIter' was not declared in this scope 74 | GtkTextIter start, cursor, end; | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:65:26: error: 'XK_4' was not declared in this scope 65 | keys.append({"Num4", XK_4}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:65:26: note: the macro 'XK_4' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:644: note: it was later defined here 644 | #define XK_4 0x0034 /* U+0034 DIGIT FOUR */ | ../ruby/input/keyboard/xlib.cpp:65:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 65 | keys.append({"Num4", XK_4}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:75:56: error: 'start' was not declared in this scope; did you mean 'stat'? 75 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &start, gtk_text_buffer_get_line_count(textBuffer), state().prompt.size()); | ^~~~~ | stat ../hiro/core/../gtk/widget/console.cpp:75:63: error: 'gtk_text_buffer_get_line_count' was not declared in this scope 75 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &start, gtk_text_buffer_get_line_count(textBuffer), state().prompt.size()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:66:26: error: 'XK_5' was not declared in this scope 66 | keys.append({"Num5", XK_5}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:66:26: note: the macro 'XK_5' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:645: note: it was later defined here 645 | #define XK_5 0x0035 /* U+0035 DIGIT FIVE */ | ../ruby/input/keyboard/xlib.cpp:66:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 66 | keys.append({"Num5", XK_5}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:75:3: error: 'gtk_text_buffer_get_iter_at_line_offset' was not declared in this scope 75 | gtk_text_buffer_get_iter_at_line_offset(textBuffer, &start, gtk_text_buffer_get_line_count(textBuffer), state().prompt.size()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:76:49: error: 'cursor' was not declared in this scope 76 | gtk_text_buffer_get_iter_at_mark(textBuffer, &cursor, mark); | ^~~~~~ ../hiro/core/../gtk/widget/console.cpp:76:3: error: 'gtk_text_buffer_get_iter_at_mark' was not declared in this scope 76 | gtk_text_buffer_get_iter_at_mark(textBuffer, &cursor, mark); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:77:45: error: 'end' was not declared in this scope; did you mean 'std::end'? 77 | gtk_text_buffer_get_end_iter(textBuffer, &end); | ^~~ | std::end ../ruby/input/keyboard/xlib.cpp:67:26: error: 'XK_6' was not declared in this scope 67 | keys.append({"Num6", XK_6}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:67:26: note: the macro 'XK_6' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:646: note: it was later defined here 646 | #define XK_6 0x0036 /* U+0036 DIGIT SIX */ | ../ruby/input/keyboard/xlib.cpp:67:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 67 | keys.append({"Num6", XK_6}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { In file included from /opt/tools/gcc13/include/c++/13.3.0/utility:73, from ../nall/platform.hpp:29: /opt/tools/gcc13/include/c++/13.3.0/initializer_list:99:5: note: 'std::end' declared here 99 | end(initializer_list<_Tp> __ils) noexcept | ^~~ ../hiro/core/../gtk/widget/console.cpp:77:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 77 | gtk_text_buffer_get_end_iter(textBuffer, &end); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:68:26: error: 'XK_7' was not declared in this scope 68 | keys.append({"Num7", XK_7}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:68:26: note: the macro 'XK_7' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:647: note: it was later defined here 647 | #define XK_7 0x0037 /* U+0037 DIGIT SEVEN */ | ../ruby/input/keyboard/xlib.cpp:68:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 68 | keys.append({"Num7", XK_7}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:79:18: error: 'GDK_KEY_Return' was not declared in this scope 79 | if(scancode == GDK_KEY_Return || scancode == GDK_KEY_KP_Enter) { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:79:48: error: 'GDK_KEY_KP_Enter' was not declared in this scope 79 | if(scancode == GDK_KEY_Return || scancode == GDK_KEY_KP_Enter) { | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:69:26: error: 'XK_8' was not declared in this scope 69 | keys.append({"Num8", XK_8}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:69:26: note: the macro 'XK_8' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:648: note: it was later defined here 648 | #define XK_8 0x0038 /* U+0038 DIGIT EIGHT */ | ../ruby/input/keyboard/xlib.cpp:69:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 69 | keys.append({"Num8", XK_8}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:80:18: error: 'gtk_text_buffer_get_text' was not declared in this scope 80 | char* temp = gtk_text_buffer_get_text(textBuffer, &start, &end, true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:82:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 82 | g_free(temp); | ^~~~~~ | free ../hiro/core/../gtk/widget/console.cpp:83:5: error: 'gtk_text_buffer_insert' was not declared in this scope 83 | gtk_text_buffer_insert(textBuffer, &end, string{"\n", state().prompt}, -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:70:26: error: 'XK_9' was not declared in this scope 70 | keys.append({"Num9", XK_9}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:70:26: note: the macro 'XK_9' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:649: note: it was later defined here 649 | #define XK_9 0x0039 /* U+0039 DIGIT NINE */ | ../ruby/input/keyboard/xlib.cpp:70:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 70 | keys.append({"Num9", XK_9}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:92:18: error: 'GDK_KEY_Up' was not declared in this scope 92 | if(scancode == GDK_KEY_Up) { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:93:5: error: 'gtk_text_buffer_delete' was not declared in this scope 93 | gtk_text_buffer_delete(textBuffer, &start, &end); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:96:7: error: 'gtk_text_buffer_insert' was not declared in this scope 96 | gtk_text_buffer_insert(textBuffer, &end, history[historyOffset++], -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:72:26: error: 'XK_minus' was not declared in this scope 72 | keys.append({"Dash", XK_minus}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:72:26: note: the macro 'XK_minus' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:637: note: it was later defined here 637 | #define XK_minus 0x002d /* U+002D HYPHEN-MINUS */ | ../ruby/input/keyboard/xlib.cpp:72:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 72 | keys.append({"Dash", XK_minus}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../hiro/core/../gtk/widget/console.cpp:102:18: error: 'GDK_KEY_Down' was not declared in this scope 102 | if(scancode == GDK_KEY_Down) { | ^~~~~~~~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:103:5: error: 'gtk_text_buffer_delete' was not declared in this scope 103 | gtk_text_buffer_delete(textBuffer, &start, &end); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:106:7: error: 'gtk_text_buffer_insert' was not declared in this scope 106 | gtk_text_buffer_insert(textBuffer, &end, history[--historyOffset], -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:73:27: error: 'XK_equal' was not declared in this scope 73 | keys.append({"Equal", XK_equal}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:73:27: note: the macro 'XK_equal' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:653: note: it was later defined here 653 | #define XK_equal 0x003d /* U+003D EQUALS SIGN */ | ../ruby/input/keyboard/xlib.cpp:73:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 73 | keys.append({"Equal", XK_equal}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:112:18: error: 'GDK_KEY_Left' was not declared in this scope 112 | if(scancode == GDK_KEY_Left) { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:113:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 113 | if(gtk_text_iter_get_offset(&cursor) <= gtk_text_iter_get_offset(&start)) { | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:114:7: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 114 | gtk_text_buffer_place_cursor(textBuffer, &start); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:116:7: error: 'gtk_text_iter_set_offset' was not declared in this scope 116 | gtk_text_iter_set_offset(&cursor, gtk_text_iter_get_offset(&cursor) - 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:74:31: error: 'XK_BackSpace' was not declared in this scope 74 | keys.append({"Backspace", XK_BackSpace}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:74:31: note: the macro 'XK_BackSpace' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:200: note: it was later defined here 200 | #define XK_BackSpace 0xff08 /* U+0008 BACKSPACE */ | ../ruby/input/keyboard/xlib.cpp:74:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 74 | keys.append({"Backspace", XK_BackSpace}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:117:7: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 117 | gtk_text_buffer_place_cursor(textBuffer, &cursor); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:123:18: error: 'GDK_KEY_Right' was not declared in this scope 123 | if(scancode == GDK_KEY_Right) { | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:124:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 124 | if(gtk_text_iter_get_offset(&cursor) < gtk_text_iter_get_offset(&start)) { | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:76:28: error: 'XK_Insert' was not declared in this scope 76 | keys.append({"Insert", XK_Insert}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:76:28: note: the macro 'XK_Insert' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:266: note: it was later defined here 266 | #define XK_Insert 0xff63 /* Insert, insert here */ | ../ruby/input/keyboard/xlib.cpp:76:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 76 | keys.append({"Insert", XK_Insert}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:125:7: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 125 | gtk_text_buffer_place_cursor(textBuffer, &end); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:127:7: error: 'gtk_text_iter_set_offset' was not declared in this scope 127 | gtk_text_iter_set_offset(&cursor, gtk_text_iter_get_offset(&cursor) + 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:128:7: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 128 | gtk_text_buffer_place_cursor(textBuffer, &cursor); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:77:28: error: 'XK_Delete' was not declared in this scope 77 | keys.append({"Delete", XK_Delete}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:77:28: note: the macro 'XK_Delete' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:209: note: it was later defined here 209 | #define XK_Delete 0xffff /* U+007F DELETE */ | ../ruby/input/keyboard/xlib.cpp:77:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 77 | keys.append({"Delete", XK_Delete}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:134:18: error: 'GDK_KEY_Home' was not declared in this scope 134 | if(scancode == GDK_KEY_Home) { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:135:5: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 135 | gtk_text_buffer_place_cursor(textBuffer, &start); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:140:18: error: 'GDK_KEY_End' was not declared in this scope 140 | if(scancode == GDK_KEY_End) { | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:78:26: error: 'XK_Home' was not declared in this scope 78 | keys.append({"Home", XK_Home}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:78:26: note: the macro 'XK_Home' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:248: note: it was later defined here 248 | #define XK_Home 0xff50 | ../ruby/input/keyboard/xlib.cpp:78:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 78 | keys.append({"Home", XK_Home}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:141:5: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 141 | gtk_text_buffer_place_cursor(textBuffer, &end); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:146:18: error: 'GDK_KEY_BackSpace' was not declared in this scope 146 | if(scancode == GDK_KEY_BackSpace) { | ^~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:79:25: error: 'XK_End' was not declared in this scope 79 | keys.append({"End", XK_End}); | ^~~~~~ ../ruby/input/keyboard/xlib.cpp:79:25: note: the macro 'XK_End' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:257: note: it was later defined here 257 | #define XK_End 0xff57 /* EOL */ | ../ruby/input/keyboard/xlib.cpp:79:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 79 | keys.append({"End", XK_End}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:147:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 147 | if(gtk_text_iter_get_offset(&cursor) <= gtk_text_iter_get_offset(&start)) return true; | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:148:16: error: expected ';' before 'lhs' 148 | GtkTextIter lhs = cursor; | ^~~~ | ; ../hiro/core/../gtk/widget/console.cpp:149:31: error: 'lhs' was not declared in this scope 149 | gtk_text_iter_set_offset(&lhs, gtk_text_iter_get_offset(&cursor) - 1); | ^~~ ../ruby/input/keyboard/xlib.cpp:80:28: error: 'XK_Prior' was not declared in this scope 80 | keys.append({"PageUp", XK_Prior}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:80:28: note: the macro 'XK_Prior' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:253: note: it was later defined here 253 | #define XK_Prior 0xff55 /* Prior, previous */ | ../ruby/input/keyboard/xlib.cpp:80:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 80 | keys.append({"PageUp", XK_Prior}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:149:36: error: 'gtk_text_iter_get_offset' was not declared in this scope 149 | gtk_text_iter_set_offset(&lhs, gtk_text_iter_get_offset(&cursor) - 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:149:5: error: 'gtk_text_iter_set_offset' was not declared in this scope 149 | gtk_text_iter_set_offset(&lhs, gtk_text_iter_get_offset(&cursor) - 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:150:5: error: 'gtk_text_buffer_delete' was not declared in this scope 150 | gtk_text_buffer_delete(textBuffer, &lhs, &cursor); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:81:30: error: 'XK_Next' was not declared in this scope 81 | keys.append({"PageDown", XK_Next}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:81:30: note: the macro 'XK_Next' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:255: note: it was later defined here 255 | #define XK_Next 0xff56 /* Next */ | ../ruby/input/keyboard/xlib.cpp:81:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 81 | keys.append({"PageDown", XK_Next}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:155:18: error: 'GDK_KEY_Delete' was not declared in this scope 155 | if(scancode == GDK_KEY_Delete) { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:156:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 156 | if(gtk_text_iter_get_offset(&cursor) < gtk_text_iter_get_offset(&start)) return true; | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:83:23: error: 'XK_A' was not declared in this scope 83 | keys.append({"A", XK_A}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:83:23: note: the macro 'XK_A' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:657: note: it was later defined here 657 | #define XK_A 0x0041 /* U+0041 LATIN CAPITAL LETTER A */ | ../ruby/input/keyboard/xlib.cpp:83:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 83 | keys.append({"A", XK_A}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:157:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 157 | if(gtk_text_iter_get_offset(&cursor) == gtk_text_iter_get_offset(&end)) return true; | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:158:16: error: expected ';' before 'rhs' 158 | GtkTextIter rhs = cursor; | ^~~~ | ; ../ruby/input/keyboard/xlib.cpp:84:23: error: 'XK_B' was not declared in this scope 84 | keys.append({"B", XK_B}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:84:23: note: the macro 'XK_B' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:658: note: it was later defined here 658 | #define XK_B 0x0042 /* U+0042 LATIN CAPITAL LETTER B */ | ../ruby/input/keyboard/xlib.cpp:84:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 84 | keys.append({"B", XK_B}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:159:31: error: 'rhs' was not declared in this scope 159 | gtk_text_iter_set_offset(&rhs, gtk_text_iter_get_offset(&cursor) + 1); | ^~~ ../ruby/input/keyboard/xlib.cpp:85:23: error: 'XK_C' was not declared in this scope 85 | keys.append({"C", XK_C}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:85:23: note: the macro 'XK_C' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:659: note: it was later defined here 659 | #define XK_C 0x0043 /* U+0043 LATIN CAPITAL LETTER C */ | ../ruby/input/keyboard/xlib.cpp:85:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 85 | keys.append({"C", XK_C}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:159:36: error: 'gtk_text_iter_get_offset' was not declared in this scope 159 | gtk_text_iter_set_offset(&rhs, gtk_text_iter_get_offset(&cursor) + 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:86:23: error: 'XK_D' was not declared in this scope 86 | keys.append({"D", XK_D}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:86:23: note: the macro 'XK_D' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:660: note: it was later defined here 660 | #define XK_D 0x0044 /* U+0044 LATIN CAPITAL LETTER D */ | ../ruby/input/keyboard/xlib.cpp:86:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 86 | keys.append({"D", XK_D}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:159:5: error: 'gtk_text_iter_set_offset' was not declared in this scope 159 | gtk_text_iter_set_offset(&rhs, gtk_text_iter_get_offset(&cursor) + 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:160:5: error: 'gtk_text_buffer_delete' was not declared in this scope 160 | gtk_text_buffer_delete(textBuffer, &cursor, &rhs); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:87:23: error: 'XK_E' was not declared in this scope 87 | keys.append({"E", XK_E}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:87:23: note: the macro 'XK_E' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:661: note: it was later defined here 661 | #define XK_E 0x0045 /* U+0045 LATIN CAPITAL LETTER E */ | ../ruby/input/keyboard/xlib.cpp:87:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 87 | keys.append({"E", XK_E}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:166:8: error: 'gtk_text_iter_get_offset' was not declared in this scope 166 | if(gtk_text_iter_get_offset(&cursor) < gtk_text_iter_get_offset(&start)) return true; | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:88:23: error: 'XK_F' was not declared in this scope 88 | keys.append({"F", XK_F}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:88:23: note: the macro 'XK_F' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:662: note: it was later defined here 662 | #define XK_F 0x0046 /* U+0046 LATIN CAPITAL LETTER F */ | ../ruby/input/keyboard/xlib.cpp:88:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 88 | keys.append({"F", XK_F}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:167:5: error: 'gtk_text_buffer_insert' was not declared in this scope 167 | gtk_text_buffer_insert(textBuffer, &cursor, string{(char)scancode}, -1); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::_seekToEnd()': ../hiro/core/../gtk/widget/console.cpp:176:3: error: 'GtkTextIter' was not declared in this scope 176 | GtkTextIter iter; | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:89:23: error: 'XK_G' was not declared in this scope 89 | keys.append({"G", XK_G}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:89:23: note: the macro 'XK_G' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:663: note: it was later defined here 663 | #define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */ | ../ruby/input/keyboard/xlib.cpp:89:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 89 | keys.append({"G", XK_G}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:177:32: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 177 | gtk_text_buffer_get_end_iter(textBuffer, &iter); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/console.cpp:177:45: error: 'iter' was not declared in this scope 177 | gtk_text_buffer_get_end_iter(textBuffer, &iter); | ^~~~ ../ruby/input/keyboard/xlib.cpp:90:23: error: 'XK_H' was not declared in this scope 90 | keys.append({"H", XK_H}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:90:23: note: the macro 'XK_H' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:664: note: it was later defined here 664 | #define XK_H 0x0048 /* U+0048 LATIN CAPITAL LETTER H */ | ../ruby/input/keyboard/xlib.cpp:90:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 90 | keys.append({"H", XK_H}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../ruby/input/keyboard/xlib.cpp:91:23: error: 'XK_I' was not declared in this scope 91 | keys.append({"I", XK_I}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:91:23: note: the macro 'XK_I' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:665: note: it was later defined here 665 | #define XK_I 0x0049 /* U+0049 LATIN CAPITAL LETTER I */ | ../ruby/input/keyboard/xlib.cpp:91:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 91 | keys.append({"I", XK_I}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../ruby/input/keyboard/xlib.cpp:92:23: error: 'XK_J' was not declared in this scope 92 | keys.append({"J", XK_J}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:92:23: note: the macro 'XK_J' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:666: note: it was later defined here 666 | #define XK_J 0x004a /* U+004A LATIN CAPITAL LETTER J */ | ../ruby/input/keyboard/xlib.cpp:92:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 92 | keys.append({"J", XK_J}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:177:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 177 | gtk_text_buffer_get_end_iter(textBuffer, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:178:3: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 178 | gtk_text_buffer_place_cursor(textBuffer, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:93:23: error: 'XK_K' was not declared in this scope 93 | keys.append({"K", XK_K}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:93:23: note: the macro 'XK_K' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:667: note: it was later defined here 667 | #define XK_K 0x004b /* U+004B LATIN CAPITAL LETTER K */ | ../ruby/input/keyboard/xlib.cpp:93:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 93 | keys.append({"K", XK_K}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp: In member function 'void hiro::pConsole::_seekToMark()': ../hiro/core/../gtk/widget/console.cpp:183:3: error: 'GtkTextMark' was not declared in this scope 183 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/console.cpp:183:16: error: 'mark' was not declared in this scope 183 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~ ../hiro/core/../gtk/widget/console.cpp:183:48: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 183 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~ | setbuffer ../ruby/input/keyboard/xlib.cpp:94:23: error: 'XK_L' was not declared in this scope 94 | keys.append({"L", XK_L}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:94:23: note: the macro 'XK_L' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:668: note: it was later defined here 668 | #define XK_L 0x004c /* U+004C LATIN CAPITAL LETTER L */ | ../ruby/input/keyboard/xlib.cpp:94:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 94 | keys.append({"L", XK_L}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:183:23: error: 'gtk_text_buffer_get_mark' was not declared in this scope 183 | GtkTextMark* mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:95:23: error: 'XK_M' was not declared in this scope 95 | keys.append({"M", XK_M}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:95:23: note: the macro 'XK_M' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:669: note: it was later defined here 669 | #define XK_M 0x004d /* U+004D LATIN CAPITAL LETTER M */ | ../ruby/input/keyboard/xlib.cpp:95:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 95 | keys.append({"M", XK_M}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/console.cpp:184:52: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 184 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/console.cpp:184:38: error: 'GTK_TEXT_VIEW' was not declared in this scope 184 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:96:23: error: 'XK_N' was not declared in this scope 96 | keys.append({"N", XK_N}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:96:23: note: the macro 'XK_N' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:670: note: it was later defined here 670 | #define XK_N 0x004e /* U+004E LATIN CAPITAL LETTER N */ | ../ruby/input/keyboard/xlib.cpp:96:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 96 | keys.append({"N", XK_N}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../hiro/core/../gtk/widget/console.cpp:184:3: error: 'gtk_text_view_scroll_mark_onscreen' was not declared in this scope 184 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { In file included from ../hiro/core/../gtk/platform.cpp:40: ../hiro/core/../gtk/widget/frame.cpp: In member function 'virtual void hiro::pFrame::construct()': ../hiro/core/../gtk/widget/frame.cpp:6:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 6 | gtkWidget = gtk_frame_new(nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/frame.cpp:6:15: error: 'gtk_frame_new' was not declared in this scope 6 | gtkWidget = gtk_frame_new(nullptr); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:7:3: error: 'gtkLabel' was not declared in this scope; did you mean 'wLabel'? 7 | gtkLabel = gtk_label_new(""); | ^~~~~~~~ | wLabel ../ruby/input/keyboard/xlib.cpp:97:23: error: 'XK_O' was not declared in this scope 97 | keys.append({"O", XK_O}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:97:23: note: the macro 'XK_O' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:671: note: it was later defined here 671 | #define XK_O 0x004f /* U+004F LATIN CAPITAL LETTER O */ | ../ruby/input/keyboard/xlib.cpp:97:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 97 | keys.append({"O", XK_O}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/frame.cpp:7:14: error: 'gtk_label_new' was not declared in this scope 7 | gtkLabel = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:8:30: error: 'GTK_FRAME' was not declared in this scope 8 | gtk_frame_set_label_widget(GTK_FRAME(gtkWidget), gtkLabel); | ^~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:8:3: error: 'gtk_frame_set_label_widget' was not declared in this scope 8 | gtk_frame_set_label_widget(GTK_FRAME(gtkWidget), gtkLabel); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:98:23: error: 'XK_P' was not declared in this scope 98 | keys.append({"P", XK_P}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:98:23: note: the macro 'XK_P' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:672: note: it was later defined here 672 | #define XK_P 0x0050 /* U+0050 LATIN CAPITAL LETTER P */ | ../ruby/input/keyboard/xlib.cpp:98:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 98 | keys.append({"P", XK_P}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/frame.cpp:9:3: error: 'gtk_widget_show' was not declared in this scope 9 | gtk_widget_show(gtkLabel); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:10:3: error: 'gtkChild' was not declared in this scope 10 | gtkChild = gtk_fixed_new(); | ^~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:10:14: error: 'gtk_fixed_new' was not declared in this scope 10 | gtkChild = gtk_fixed_new(); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:99:23: error: 'XK_Q' was not declared in this scope 99 | keys.append({"Q", XK_Q}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:99:23: note: the macro 'XK_Q' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:673: note: it was later defined here 673 | #define XK_Q 0x0051 /* U+0051 LATIN CAPITAL LETTER Q */ | ../ruby/input/keyboard/xlib.cpp:99:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 99 | keys.append({"Q", XK_Q}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/frame.cpp:11:21: error: 'GTK_CONTAINER' was not declared in this scope 11 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkChild); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:11:3: error: 'gtk_container_add' was not declared in this scope 11 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkChild); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp: In member function 'virtual void hiro::pFrame::destruct()': ../hiro/core/../gtk/widget/frame.cpp:20:22: error: 'gtkChild' was not declared in this scope 20 | gtk_widget_destroy(gtkChild); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:100:23: error: 'XK_R' was not declared in this scope 100 | keys.append({"R", XK_R}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:100:23: note: the macro 'XK_R' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:674: note: it was later defined here 674 | #define XK_R 0x0052 /* U+0052 LATIN CAPITAL LETTER R */ | ../ruby/input/keyboard/xlib.cpp:100:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 100 | keys.append({"R", XK_R}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/frame.cpp:20:3: error: 'gtk_widget_destroy' was not declared in this scope 20 | gtk_widget_destroy(gtkChild); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:21:22: error: 'gtkLabel' was not declared in this scope; did you mean 'wLabel'? 21 | gtk_widget_destroy(gtkLabel); | ^~~~~~~~ | wLabel ../hiro/core/../gtk/widget/frame.cpp:22:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 22 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:101:23: error: 'XK_S' was not declared in this scope 101 | keys.append({"S", XK_S}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:101:23: note: the macro 'XK_S' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:675: note: it was later defined here 675 | #define XK_S 0x0053 /* U+0053 LATIN CAPITAL LETTER S */ | ../ruby/input/keyboard/xlib.cpp:101:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 101 | keys.append({"S", XK_S}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/frame.cpp: At global scope: ../hiro/core/../gtk/widget/frame.cpp:32:44: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 32 | auto pFrame::container(mWidget& widget) -> GtkWidget* { | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/frame.cpp:32:53: error: expected initializer before '*' token 32 | auto pFrame::container(mWidget& widget) -> GtkWidget* { | ^ ../hiro/core/../gtk/widget/frame.cpp: In member function 'virtual void hiro::pFrame::setFont(const hiro::Font&)': ../hiro/core/../gtk/widget/frame.cpp:51:18: error: 'gtkLabel' was not declared in this scope; did you mean 'wLabel'? 51 | pFont::setFont(gtkLabel, font); | ^~~~~~~~ | wLabel ../hiro/core/../gtk/widget/frame.cpp: In member function 'void hiro::pFrame::setText(const nall::string&)': ../hiro/core/../gtk/widget/frame.cpp:77:32: error: 'gtkLabel' was not declared in this scope; did you mean 'wLabel'? 77 | gtk_label_set_text(GTK_LABEL(gtkLabel), text); | ^~~~~~~~ | wLabel ../hiro/core/../gtk/widget/frame.cpp:77:22: error: 'GTK_LABEL' was not declared in this scope 77 | gtk_label_set_text(GTK_LABEL(gtkLabel), text); | ^~~~~~~~~ ../hiro/core/../gtk/widget/frame.cpp:77:3: error: 'gtk_label_set_text' was not declared in this scope 77 | gtk_label_set_text(GTK_LABEL(gtkLabel), text); | ^~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:102:23: error: 'XK_T' was not declared in this scope 102 | keys.append({"T", XK_T}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:102:23: note: the macro 'XK_T' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:676: note: it was later defined here 676 | #define XK_T 0x0054 /* U+0054 LATIN CAPITAL LETTER T */ | ../ruby/input/keyboard/xlib.cpp:102:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 102 | keys.append({"T", XK_T}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { In file included from ../hiro/core/../gtk/platform.cpp:41: ../hiro/core/../gtk/widget/hex-edit.cpp: At global scope: ../hiro/core/../gtk/widget/hex-edit.cpp:5:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/hex-edit.cpp:5:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/hex-edit.cpp:5:49: error: 'GdkEventKey' was not declared in this scope 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:5:62: error: 'event' was not declared in this scope; did you mean 'servent'? 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/hex-edit.cpp:5:77: error: expected primary-expression before '*' token 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:5:79: error: 'p' was not declared in this scope 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:5:80: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:5:82: error: expected ',' or ';' before '->' token 5 | static auto HexEdit_keyPress(GtkWidget* widget, GdkEventKey* event, pHexEdit* p) -> signed { | ^~ ../hiro/core/../gtk/widget/hex-edit.cpp:9:33: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/hex-edit.cpp:9:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^~~~~~ | Widget ../ruby/input/keyboard/xlib.cpp:103:23: error: 'XK_U' was not declared in this scope 103 | keys.append({"U", XK_U}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:103:23: note: the macro 'XK_U' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:677: note: it was later defined here 677 | #define XK_U 0x0055 /* U+0055 LATIN CAPITAL LETTER U */ | ../ruby/input/keyboard/xlib.cpp:103:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 103 | keys.append({"U", XK_U}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:9:52: error: 'GdkEventScroll' was not declared in this scope 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:9:68: error: 'event' was not declared in this scope; did you mean 'servent'? 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/hex-edit.cpp:9:83: error: expected primary-expression before '*' token 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:9:85: error: 'p' was not declared in this scope 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:9:86: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:9:88: error: expected ',' or ';' before '->' token 9 | static auto HexEdit_mouseScroll(GtkWidget* widget, GdkEventScroll* event, pHexEdit* p) -> signed { | ^~ ../hiro/core/../gtk/widget/hex-edit.cpp:23:28: error: 'GtkRange' was not declared in this scope 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:23:45: error: 'GtkScrollType' was not declared in this scope 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:23:67: error: expected primary-expression before 'double' 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:23:89: error: expected primary-expression before '*' token 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:23:91: error: 'p' was not declared in this scope 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:23:92: error: expression list treated as compound expression in initializer [-fpermissive] 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^ ../hiro/core/../gtk/widget/hex-edit.cpp:23:94: error: expected ',' or ';' before '->' token 23 | static auto HexEdit_scroll(GtkRange* range, GtkScrollType scroll, double value, pHexEdit* p) -> signed { | ^~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'virtual void hiro::pHexEdit::construct()': ../hiro/core/../gtk/widget/hex-edit.cpp:32:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 32 | gtkWidget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:104:23: error: 'XK_V' was not declared in this scope 104 | keys.append({"V", XK_V}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:104:23: note: the macro 'XK_V' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:678: note: it was later defined here 678 | #define XK_V 0x0056 /* U+0056 LATIN CAPITAL LETTER V */ | ../ruby/input/keyboard/xlib.cpp:104:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 104 | keys.append({"V", XK_V}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:32:27: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 32 | gtkWidget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:32:15: error: 'gtk_box_new' was not declared in this scope 32 | gtkWidget = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:105:23: error: 'XK_W' was not declared in this scope 105 | keys.append({"W", XK_W}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:105:23: note: the macro 'XK_W' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:679: note: it was later defined here 679 | #define XK_W 0x0057 /* U+0057 LATIN CAPITAL LETTER W */ | ../ruby/input/keyboard/xlib.cpp:105:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 105 | keys.append({"W", XK_W}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:35:3: error: 'container' was not declared in this scope 35 | container = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:35:15: error: 'gtk_scrolled_window_new' was not declared in this scope 35 | container = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:106:23: error: 'XK_X' was not declared in this scope 106 | keys.append({"X", XK_X}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:106:23: note: the macro 'XK_X' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:680: note: it was later defined here 680 | #define XK_X 0x0058 /* U+0058 LATIN CAPITAL LETTER X */ | ../ruby/input/keyboard/xlib.cpp:106:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 106 | keys.append({"X", XK_X}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:36:34: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 36 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(container), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:36:66: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 36 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(container), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:107:23: error: 'XK_Y' was not declared in this scope 107 | keys.append({"Y", XK_Y}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:107:23: note: the macro 'XK_Y' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:681: note: it was later defined here 681 | #define XK_Y 0x0059 /* U+0059 LATIN CAPITAL LETTER Y */ | ../ruby/input/keyboard/xlib.cpp:107:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 107 | keys.append({"Y", XK_Y}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:36:88: error: 'GTK_POLICY_NEVER' was not declared in this scope 36 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(container), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:36:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 36 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(container), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:37:71: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 37 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(container), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:108:23: error: 'XK_Z' was not declared in this scope 108 | keys.append({"Z", XK_Z}); | ^~~~ ../ruby/input/keyboard/xlib.cpp:108:23: note: the macro 'XK_Z' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:682: note: it was later defined here 682 | #define XK_Z 0x005a /* U+005A LATIN CAPITAL LETTER Z */ | ../ruby/input/keyboard/xlib.cpp:108:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 108 | keys.append({"Z", XK_Z}); | ~~~~~~~~~~~^~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:37:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 37 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(container), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:39:3: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 39 | subWidget = gtk_text_view_new(); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/hex-edit.cpp:39:15: error: 'gtk_text_view_new' was not declared in this scope 39 | subWidget = gtk_text_view_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:40:30: error: 'GTK_TEXT_VIEW' was not declared in this scope 40 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), false); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:40:3: error: 'gtk_text_view_set_editable' was not declared in this scope 40 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:41:57: error: 'GTK_WRAP_NONE' was not declared in this scope 41 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_NONE); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:41:3: error: 'gtk_text_view_set_wrap_mode' was not declared in this scope 41 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:42:21: error: 'GTK_CONTAINER' was not declared in this scope 42 | gtk_container_add(GTK_CONTAINER(container), subWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:42:3: error: 'gtk_container_add' was not declared in this scope 42 | gtk_container_add(GTK_CONTAINER(container), subWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:47:3: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 47 | scrollBar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~ | scroll ../ruby/input/keyboard/xlib.cpp:110:33: error: 'XK_bracketleft' was not declared in this scope 110 | keys.append({"LeftBracket", XK_bracketleft}); | ^~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:110:33: note: the macro 'XK_bracketleft' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:683: note: it was later defined here 683 | #define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */ | ../ruby/input/keyboard/xlib.cpp:110:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 110 | keys.append({"LeftBracket", XK_bracketleft}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:47:33: error: 'GTK_ORIENTATION_VERTICAL' was not declared in this scope 47 | scrollBar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:47:15: error: 'gtk_scrollbar_new' was not declared in this scope 47 | scrollBar = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:49:23: error: 'GTK_RANGE' was not declared in this scope 49 | gtk_range_set_range(GTK_RANGE(scrollBar), 0, 255); | ^~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:49:3: error: 'gtk_range_set_range' was not declared in this scope 49 | gtk_range_set_range(GTK_RANGE(scrollBar), 0, 255); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:50:3: error: 'gtk_range_set_increments' was not declared in this scope 50 | gtk_range_set_increments(GTK_RANGE(scrollBar), 1, 16); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:111:34: error: 'XK_bracketright' was not declared in this scope 111 | keys.append({"RightBracket", XK_bracketright}); | ^~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:111:34: note: the macro 'XK_bracketright' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:685: note: it was later defined here 685 | #define XK_bracketright 0x005d /* U+005D RIGHT SQUARE BRACKET */ | ../ruby/input/keyboard/xlib.cpp:111:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 111 | keys.append({"RightBracket", XK_bracketright}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:51:3: error: 'gtk_widget_set_sensitive' was not declared in this scope 51 | gtk_widget_set_sensitive(scrollBar, false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:53:22: error: 'GTK_BOX' was not declared in this scope 53 | gtk_box_pack_start(GTK_BOX(gtkWidget), container, true, true, 0); | ^~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:53:3: error: 'gtk_box_pack_start' was not declared in this scope 53 | gtk_box_pack_start(GTK_BOX(gtkWidget), container, true, true, 0); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:56:3: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 56 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/hex-edit.cpp:56:16: error: 'gtk_text_view_get_buffer' was not declared in this scope 56 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:57:3: error: 'textCursor' was not declared in this scope; did you mean 'TextCursor'? 57 | textCursor = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~ | TextCursor ../hiro/core/../gtk/widget/hex-edit.cpp:57:16: error: 'gtk_text_buffer_get_mark' was not declared in this scope 57 | textCursor = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:112:31: error: 'XK_backslash' was not declared in this scope 112 | keys.append({"Backslash", XK_backslash}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:112:31: note: the macro 'XK_backslash' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:684: note: it was later defined here 684 | #define XK_backslash 0x005c /* U+005C REVERSE SOLIDUS */ | ../ruby/input/keyboard/xlib.cpp:112:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 112 | keys.append({"Backslash", XK_backslash}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:59:3: error: 'gtk_widget_show' was not declared in this scope 59 | gtk_widget_show(scrollBar); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:71:20: error: 'G_OBJECT' was not declared in this scope 71 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(HexEdit_keyPress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:71:60: error: 'G_CALLBACK' was not declared in this scope 71 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(HexEdit_keyPress), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:71:91: error: 'gpointer' was not declared in this scope 71 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(HexEdit_keyPress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:71:3: error: 'g_signal_connect' was not declared in this scope 71 | g_signal_connect(G_OBJECT(subWidget), "key-press-event", G_CALLBACK(HexEdit_keyPress), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:72:100: error: expected ')' before 'this' 72 | g_signal_connect(G_OBJECT(subWidget), "scroll-event", G_CALLBACK(HexEdit_mouseScroll), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/hex-edit.cpp:74:95: error: expected ')' before 'this' 74 | g_signal_connect(G_OBJECT(scrollBar), "change-value", G_CALLBACK(HexEdit_scroll), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/hex-edit.cpp:75:100: error: expected ')' before 'this' 75 | g_signal_connect(G_OBJECT(scrollBar), "scroll-event", G_CALLBACK(HexEdit_mouseScroll), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'virtual void hiro::pHexEdit::destruct()': ../hiro/core/../gtk/widget/hex-edit.cpp:81:22: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 81 | gtk_widget_destroy(scrollBar); | ^~~~~~~~~ | scroll ../hiro/core/../gtk/widget/hex-edit.cpp:81:3: error: 'gtk_widget_destroy' was not declared in this scope 81 | gtk_widget_destroy(scrollBar); | ^~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:113:31: error: 'XK_semicolon' was not declared in this scope 113 | keys.append({"Semicolon", XK_semicolon}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:113:31: note: the macro 'XK_semicolon' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:651: note: it was later defined here 651 | #define XK_semicolon 0x003b /* U+003B SEMICOLON */ | ../ruby/input/keyboard/xlib.cpp:113:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 113 | keys.append({"Semicolon", XK_semicolon}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:82:22: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 82 | gtk_widget_destroy(subWidget); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/hex-edit.cpp:83:22: error: 'container' was not declared in this scope 83 | gtk_widget_destroy(container); | ^~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:84:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 84 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'virtual bool hiro::pHexEdit::focused() const': ../hiro/core/../gtk/widget/hex-edit.cpp:88:31: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 88 | return gtk_widget_has_focus(subWidget) || gtk_widget_has_focus(scrollBar); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/hex-edit.cpp:88:10: error: 'gtk_widget_has_focus' was not declared in this scope 88 | return gtk_widget_has_focus(subWidget) || gtk_widget_has_focus(scrollBar); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:88:66: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 88 | return gtk_widget_has_focus(subWidget) || gtk_widget_has_focus(scrollBar); | ^~~~~~~~~ | scroll ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/hex-edit.cpp:98:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 98 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/hex-edit.cpp:99:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 99 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/hex-edit.cpp:99:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 99 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:99:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 99 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/hex-edit.cpp:99:3: error: 'gtk_widget_modify_base' was not declared in this scope 99 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:114:32: error: 'XK_apostrophe' was not declared in this scope 114 | keys.append({"Apostrophe", XK_apostrophe}); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:114:32: note: the macro 'XK_apostrophe' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:630: note: it was later defined here 630 | #define XK_apostrophe 0x0027 /* U+0027 APOSTROPHE */ | ../ruby/input/keyboard/xlib.cpp:114:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 114 | keys.append({"Apostrophe", XK_apostrophe}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/hex-edit.cpp:108:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 108 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/hex-edit.cpp:109:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 109 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/hex-edit.cpp:109:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 109 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:109:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 109 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/hex-edit.cpp:109:3: error: 'gtk_widget_modify_text' was not declared in this scope 109 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:115:27: error: 'XK_comma' was not declared in this scope 115 | keys.append({"Comma", XK_comma}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:115:27: note: the macro 'XK_comma' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:636: note: it was later defined here 636 | #define XK_comma 0x002c /* U+002C COMMA */ | ../ruby/input/keyboard/xlib.cpp:115:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 115 | keys.append({"Comma", XK_comma}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::update()': ../hiro/core/../gtk/widget/hex-edit.cpp:124:30: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 124 | gtk_text_buffer_set_text(textBuffer, "", -1); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/hex-edit.cpp:124:5: error: 'gtk_text_buffer_set_text' was not declared in this scope 124 | gtk_text_buffer_set_text(textBuffer, "", -1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:156:28: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 156 | gtk_text_buffer_set_text(textBuffer, output, -1); | ^~~~~~~~~~ | setbuffer ../ruby/input/keyboard/xlib.cpp:116:28: error: 'XK_period' was not declared in this scope 116 | keys.append({"Period", XK_period}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:116:28: note: the macro 'XK_period' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:638: note: it was later defined here 638 | #define XK_period 0x002e /* U+002E FULL STOP */ | ../ruby/input/keyboard/xlib.cpp:116:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 116 | keys.append({"Period", XK_period}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:156:3: error: 'gtk_text_buffer_set_text' was not declared in this scope 156 | gtk_text_buffer_set_text(textBuffer, output, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'unsigned int hiro::pHexEdit::cursorPosition()': ../hiro/core/../gtk/widget/hex-edit.cpp:162:3: error: 'GtkTextIter' was not declared in this scope 162 | GtkTextIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:163:36: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 163 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/hex-edit.cpp:163:49: error: 'iter' was not declared in this scope 163 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:163:55: error: 'textCursor' was not declared in this scope; did you mean 'TextCursor'? 163 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~ | TextCursor ../ruby/input/keyboard/xlib.cpp:117:27: error: 'XK_slash' was not declared in this scope 117 | keys.append({"Slash", XK_slash}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:117:27: note: the macro 'XK_slash' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:639: note: it was later defined here 639 | #define XK_slash 0x002f /* U+002F SOLIDUS */ | ../ruby/input/keyboard/xlib.cpp:117:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 117 | keys.append({"Slash", XK_slash}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:163:3: error: 'gtk_text_buffer_get_iter_at_mark' was not declared in this scope 163 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:164:10: error: 'gtk_text_iter_get_offset' was not declared in this scope 164 | return gtk_text_iter_get_offset(&iter); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'bool hiro::pHexEdit::keyPress(unsigned int, unsigned int)': ../hiro/core/../gtk/widget/hex-edit.cpp:170:14: error: 'GDK_CONTROL_MASK' was not declared in this scope 170 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:119:29: error: 'XK_KP_0' was not declared in this scope 119 | keys.append({"Keypad0", XK_KP_0}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:119:29: note: the macro 'XK_KP_0' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:308: note: it was later defined here 308 | #define XK_KP_0 0xffb0 /*<U+0030 DIGIT ZERO>*/ | ../ruby/input/keyboard/xlib.cpp:119:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 119 | keys.append({"Keypad0", XK_KP_0}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:170:33: error: 'GDK_MOD1_MASK' was not declared in this scope 170 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:170:49: error: 'GDK_SUPER_MASK' was not declared in this scope 170 | if(mask & (GDK_CONTROL_MASK | GDK_MOD1_MASK | GDK_SUPER_MASK)) return false; //allow actions such as Ctrl+C (copy) | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:177:18: error: 'GDK_KEY_Home' was not declared in this scope 177 | if(scancode == GDK_KEY_Home) { | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:120:29: error: 'XK_KP_1' was not declared in this scope 120 | keys.append({"Keypad1", XK_KP_1}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:120:29: note: the macro 'XK_KP_1' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:309: note: it was later defined here 309 | #define XK_KP_1 0xffb1 /*<U+0031 DIGIT ONE>*/ | ../ruby/input/keyboard/xlib.cpp:120:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 120 | keys.append({"Keypad1", XK_KP_1}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:182:18: error: 'GDK_KEY_End' was not declared in this scope 182 | if(scancode == GDK_KEY_End) { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:187:18: error: 'GDK_KEY_Up' was not declared in this scope 187 | if(scancode == GDK_KEY_Up) { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:198:18: error: 'GDK_KEY_Down' was not declared in this scope 198 | if(scancode == GDK_KEY_Down) { | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:121:29: error: 'XK_KP_2' was not declared in this scope 121 | keys.append({"Keypad2", XK_KP_2}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:121:29: note: the macro 'XK_KP_2' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:310: note: it was later defined here 310 | #define XK_KP_2 0xffb2 /*<U+0032 DIGIT TWO>*/ | ../ruby/input/keyboard/xlib.cpp:121:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 121 | keys.append({"Keypad2", XK_KP_2}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:210:18: error: 'GDK_KEY_Page_Up' was not declared in this scope 210 | if(scancode == GDK_KEY_Page_Up) { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:221:18: error: 'GDK_KEY_Page_Down' was not declared in this scope 221 | if(scancode == GDK_KEY_Page_Down) { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::setCursorPosition(unsigned int)': ../hiro/core/../gtk/widget/hex-edit.cpp:293:3: error: 'GtkTextIter' was not declared in this scope 293 | GtkTextIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:294:36: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 294 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/hex-edit.cpp:294:49: error: 'iter' was not declared in this scope 294 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~ ../ruby/input/keyboard/xlib.cpp:122:29: error: 'XK_KP_3' was not declared in this scope 122 | keys.append({"Keypad3", XK_KP_3}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:122:29: note: the macro 'XK_KP_3' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:311: note: it was later defined here 311 | #define XK_KP_3 0xffb3 /*<U+0033 DIGIT THREE>*/ | ../ruby/input/keyboard/xlib.cpp:122:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 122 | keys.append({"Keypad3", XK_KP_3}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:294:55: error: 'textCursor' was not declared in this scope; did you mean 'TextCursor'? 294 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~ | TextCursor ../hiro/core/../gtk/widget/hex-edit.cpp:294:3: error: 'gtk_text_buffer_get_iter_at_mark' was not declared in this scope 294 | gtk_text_buffer_get_iter_at_mark(textBuffer, &iter, textCursor); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:297:14: error: expected ';' before 'endIter' 297 | GtkTextIter endIter; | ^~~~~~~~ | ; ../hiro/core/../gtk/widget/hex-edit.cpp:298:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 298 | gtk_text_buffer_get_end_iter(textBuffer, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:123:29: error: 'XK_KP_4' was not declared in this scope 123 | keys.append({"Keypad4", XK_KP_4}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:123:29: note: the macro 'XK_KP_4' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:312: note: it was later defined here 312 | #define XK_KP_4 0xffb4 /*<U+0034 DIGIT FOUR>*/ | ../ruby/input/keyboard/xlib.cpp:123:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 123 | keys.append({"Keypad4", XK_KP_4}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:299:26: error: 'gtk_text_iter_get_offset' was not declared in this scope 299 | unsigned endPosition = gtk_text_iter_get_offset(&iter); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:124:29: error: 'XK_KP_5' was not declared in this scope 124 | keys.append({"Keypad5", XK_KP_5}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:124:29: note: the macro 'XK_KP_5' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:313: note: it was later defined here 313 | #define XK_KP_5 0xffb5 /*<U+0035 DIGIT FIVE>*/ | ../ruby/input/keyboard/xlib.cpp:124:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 124 | keys.append({"Keypad5", XK_KP_5}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:301:3: error: 'gtk_text_iter_set_offset' was not declared in this scope 301 | gtk_text_iter_set_offset(&iter, min(position, endPosition)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:302:3: error: 'gtk_text_buffer_place_cursor' was not declared in this scope 302 | gtk_text_buffer_place_cursor(textBuffer, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::setScroll()': ../hiro/core/../gtk/widget/hex-edit.cpp:307:35: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 307 | gtk_range_set_range(GTK_RANGE(scrollBar), 0, rowsScrollable()); | ^~~~~~~~~ | scroll ../ruby/input/keyboard/xlib.cpp:125:29: error: 'XK_KP_6' was not declared in this scope 125 | keys.append({"Keypad6", XK_KP_6}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:125:29: note: the macro 'XK_KP_6' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:314: note: it was later defined here 314 | #define XK_KP_6 0xffb6 /*<U+0036 DIGIT SIX>*/ | ../ruby/input/keyboard/xlib.cpp:125:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 125 | keys.append({"Keypad6", XK_KP_6}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:307:25: error: 'GTK_RANGE' was not declared in this scope 307 | gtk_range_set_range(GTK_RANGE(scrollBar), 0, rowsScrollable()); | ^~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:307:5: error: 'gtk_range_set_range' was not declared in this scope 307 | gtk_range_set_range(GTK_RANGE(scrollBar), 0, rowsScrollable()); | ^~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:126:29: error: 'XK_KP_7' was not declared in this scope 126 | keys.append({"Keypad7", XK_KP_7}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:126:29: note: the macro 'XK_KP_7' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:315: note: it was later defined here 315 | #define XK_KP_7 0xffb7 /*<U+0037 DIGIT SEVEN>*/ | ../ruby/input/keyboard/xlib.cpp:126:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 126 | keys.append({"Keypad7", XK_KP_7}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:308:5: error: 'gtk_widget_set_sensitive' was not declared in this scope 308 | gtk_widget_set_sensitive(scrollBar, true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp:310:30: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 310 | gtk_widget_set_sensitive(scrollBar, false); | ^~~~~~~~~ | scroll ../ruby/input/keyboard/xlib.cpp:127:29: error: 'XK_KP_8' was not declared in this scope 127 | keys.append({"Keypad8", XK_KP_8}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:127:29: note: the macro 'XK_KP_8' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:316: note: it was later defined here 316 | #define XK_KP_8 0xffb8 /*<U+0038 DIGIT EIGHT>*/ | ../ruby/input/keyboard/xlib.cpp:127:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 127 | keys.append({"Keypad8", XK_KP_8}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:310:5: error: 'gtk_widget_set_sensitive' was not declared in this scope 310 | gtk_widget_set_sensitive(scrollBar, false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/hex-edit.cpp: In member function 'void hiro::pHexEdit::updateScroll()': ../hiro/core/../gtk/widget/hex-edit.cpp:316:33: error: 'scrollBar' was not declared in this scope; did you mean 'scroll'? 316 | gtk_range_set_value(GTK_RANGE(scrollBar), row); | ^~~~~~~~~ | scroll ../hiro/core/../gtk/widget/hex-edit.cpp:316:23: error: 'GTK_RANGE' was not declared in this scope 316 | gtk_range_set_value(GTK_RANGE(scrollBar), row); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:128:29: error: 'XK_KP_9' was not declared in this scope 128 | keys.append({"Keypad9", XK_KP_9}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:128:29: note: the macro 'XK_KP_9' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:317: note: it was later defined here 317 | #define XK_KP_9 0xffb9 /*<U+0039 DIGIT NINE>*/ | ../ruby/input/keyboard/xlib.cpp:128:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 128 | keys.append({"Keypad9", XK_KP_9}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/hex-edit.cpp:316:3: error: 'gtk_range_set_value' was not declared in this scope 316 | gtk_range_set_value(GTK_RANGE(scrollBar), row); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:42: ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp: At global scope: ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:40: error: 'GtkRange' was not declared in this scope 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:50: error: 'gtkRange' was not declared in this scope 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:80: error: expected primary-expression before '*' token 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:82: error: 'p' was not declared in this scope 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:83: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:5:85: error: expected ',' or ';' before '->' token 5 | static auto HorizontalScrollBar_change(GtkRange* gtkRange, pHorizontalScrollBar* p) -> void { | ^~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp: In member function 'virtual void hiro::pHorizontalScrollBar::construct()': ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:16:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:130:25: error: 'XK_KP_Add' was not declared in this scope 130 | keys.append({"Add", XK_KP_Add}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:130:25: note: the macro 'XK_KP_Add' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:302: note: it was later defined here 302 | #define XK_KP_Add 0xffab /*<U+002B PLUS SIGN>*/ | ../ruby/input/keyboard/xlib.cpp:130:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 130 | keys.append({"Add", XK_KP_Add}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:16:33: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:16:15: error: 'gtk_scrollbar_new' was not declared in this scope 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_HORIZONTAL, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:22:20: error: 'G_OBJECT' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalScrollBar_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:22:58: error: 'G_CALLBACK' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalScrollBar_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:22:99: error: 'gpointer' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalScrollBar_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:22:3: error: 'g_signal_connect' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalScrollBar_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:131:30: error: 'XK_KP_Subtract' was not declared in this scope 131 | keys.append({"Subtract", XK_KP_Subtract}); | ^~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:131:30: note: the macro 'XK_KP_Subtract' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:304: note: it was later defined here 304 | #define XK_KP_Subtract 0xffad /*<U+002D HYPHEN-MINUS>*/ | ../ruby/input/keyboard/xlib.cpp:131:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 131 | keys.append({"Subtract", XK_KP_Subtract}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp: In member function 'virtual void hiro::pHorizontalScrollBar::destruct()': ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:28:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 28 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:28:3: error: 'gtk_widget_destroy' was not declared in this scope 28 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp: In member function 'void hiro::pHorizontalScrollBar::setLength(unsigned int)': ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:38:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:38:23: error: 'GTK_RANGE' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:38:3: error: 'gtk_range_set_range' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:39:3: error: 'gtk_range_set_increments' was not declared in this scope 39 | gtk_range_set_increments(GTK_RANGE(gtkWidget), 1, length >> 3); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp: In member function 'void hiro::pHorizontalScrollBar::setPosition(unsigned int)': ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:43:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:132:30: error: 'XK_KP_Multiply' was not declared in this scope 132 | keys.append({"Multiply", XK_KP_Multiply}); | ^~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:132:30: note: the macro 'XK_KP_Multiply' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:301: note: it was later defined here 301 | #define XK_KP_Multiply 0xffaa /*<U+002A ASTERISK>*/ | ../ruby/input/keyboard/xlib.cpp:132:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 132 | keys.append({"Multiply", XK_KP_Multiply}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:43:23: error: 'GTK_RANGE' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-scroll-bar.cpp:43:3: error: 'gtk_range_set_value' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:43: ../hiro/core/../gtk/widget/horizontal-slider.cpp: At global scope: ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:37: error: 'GtkRange' was not declared in this scope 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:47: error: 'gtkRange' was not declared in this scope 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:74: error: expected primary-expression before '*' token 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:76: error: 'p' was not declared in this scope 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:77: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/horizontal-slider.cpp:5:79: error: expected ',' or ';' before '->' token 5 | static auto HorizontalSlider_change(GtkRange* gtkRange, pHorizontalSlider* p) -> void { | ^~ ../hiro/core/../gtk/widget/horizontal-slider.cpp: In member function 'virtual void hiro::pHorizontalSlider::construct()': ../hiro/core/../gtk/widget/horizontal-slider.cpp:16:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 100, 1); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:133:28: error: 'XK_KP_Divide' was not declared in this scope 133 | keys.append({"Divide", XK_KP_Divide}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:133:28: note: the macro 'XK_KP_Divide' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:306: note: it was later defined here 306 | #define XK_KP_Divide 0xffaf /*<U+002F SOLIDUS>*/ | ../ruby/input/keyboard/xlib.cpp:133:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 133 | keys.append({"Divide", XK_KP_Divide}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:16:40: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 100, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:16:15: error: 'gtk_scale_new_with_range' was not declared in this scope 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, 0, 100, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:134:27: error: 'XK_KP_Enter' was not declared in this scope 134 | keys.append({"Enter", XK_KP_Enter}); | ^~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:134:27: note: the macro 'XK_KP_Enter' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:282: note: it was later defined here 282 | #define XK_KP_Enter 0xff8d /*<U+000D CARRIAGE RETURN>*/ | ../ruby/input/keyboard/xlib.cpp:134:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 134 | keys.append({"Enter", XK_KP_Enter}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:18:28: error: 'GTK_SCALE' was not declared in this scope 18 | gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false); | ^~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:18:3: error: 'gtk_scale_set_draw_value' was not declared in this scope 18 | gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:136:24: error: 'XK_Up' was not declared in this scope 136 | keys.append({"Up", XK_Up}); | ^~~~~ ../ruby/input/keyboard/xlib.cpp:136:24: note: the macro 'XK_Up' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:250: note: it was later defined here 250 | #define XK_Up 0xff52 /* Move up, up arrow */ | ../ruby/input/keyboard/xlib.cpp:136:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 136 | keys.append({"Up", XK_Up}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:23:20: error: 'G_OBJECT' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalSlider_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:23:58: error: 'G_CALLBACK' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalSlider_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:23:96: error: 'gpointer' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalSlider_change), (gpointer)this); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:137:26: error: 'XK_Down' was not declared in this scope 137 | keys.append({"Down", XK_Down}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:137:26: note: the macro 'XK_Down' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:252: note: it was later defined here 252 | #define XK_Down 0xff54 /* Move down, down arrow */ | ../ruby/input/keyboard/xlib.cpp:137:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 137 | keys.append({"Down", XK_Down}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:23:3: error: 'g_signal_connect' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(HorizontalSlider_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp: In member function 'virtual void hiro::pHorizontalSlider::destruct()': ../hiro/core/../gtk/widget/horizontal-slider.cpp:29:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/horizontal-slider.cpp:29:3: error: 'gtk_widget_destroy' was not declared in this scope 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp: In member function 'void hiro::pHorizontalSlider::setLength(unsigned int)': ../hiro/core/../gtk/widget/horizontal-slider.cpp:38:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/horizontal-slider.cpp:38:23: error: 'GTK_RANGE' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:138:26: error: 'XK_Left' was not declared in this scope 138 | keys.append({"Left", XK_Left}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:138:26: note: the macro 'XK_Left' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:249: note: it was later defined here 249 | #define XK_Left 0xff51 /* Move left, left arrow */ | ../ruby/input/keyboard/xlib.cpp:138:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 138 | keys.append({"Left", XK_Left}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:38:3: error: 'gtk_range_set_range' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp:39:3: error: 'gtk_range_set_increments' was not declared in this scope 39 | gtk_range_set_increments(GTK_RANGE(gtkWidget), 1, length >> 3); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/horizontal-slider.cpp: In member function 'void hiro::pHorizontalSlider::setPosition(unsigned int)': ../hiro/core/../gtk/widget/horizontal-slider.cpp:43:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/horizontal-slider.cpp:43:23: error: 'GTK_RANGE' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:139:27: error: 'XK_Right' was not declared in this scope 139 | keys.append({"Right", XK_Right}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:139:27: note: the macro 'XK_Right' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:251: note: it was later defined here 251 | #define XK_Right 0xff53 /* Move right, right arrow */ | ../ruby/input/keyboard/xlib.cpp:139:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 139 | keys.append({"Right", XK_Right}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/horizontal-slider.cpp:43:3: error: 'gtk_range_set_value' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:44: ../hiro/core/../gtk/widget/icon-view.cpp: At global scope: ../hiro/core/../gtk/widget/icon-view.cpp:5:31: error: 'GtkIconView' was not declared in this scope; did you mean 'wIconView'? 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^~~~~~~~~~~ | wIconView ../hiro/core/../gtk/widget/icon-view.cpp:5:44: error: 'iconView' was not declared in this scope; did you mean 'IconView'? 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^~~~~~~~ | IconView ../ruby/input/keyboard/xlib.cpp:141:25: error: 'XK_Tab' was not declared in this scope 141 | keys.append({"Tab", XK_Tab}); | ^~~~~~ ../ruby/input/keyboard/xlib.cpp:141:25: note: the macro 'XK_Tab' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:201: note: it was later defined here 201 | #define XK_Tab 0xff09 /* U+0009 CHARACTER TABULATION */ | ../ruby/input/keyboard/xlib.cpp:141:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 141 | keys.append({"Tab", XK_Tab}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:5:54: error: 'GtkTreePath' was not declared in this scope 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:5:67: error: 'path' was not declared in this scope; did you mean 'nall::Location::path'? 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^~~~ | nall::Location::path In file included from ../nall/string/transform/cml.hpp:7, from ../nall/string.hpp:365, from ../nall/chrono.hpp:4, from ../hiro/core/core.hpp:3: ../nall/location.hpp:9:13: note: 'nall::Location::path' declared here 9 | inline auto path(string_view self) -> string { | ^~~~ ../hiro/core/../gtk/widget/icon-view.cpp:5:82: error: expected primary-expression before '*' token 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:5:84: error: 'p' was not declared in this scope 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:5:85: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:5:87: error: expected ',' or ';' before '->' token 5 | static auto IconView_activate(GtkIconView* iconView, GtkTreePath* path, pIconView* p) -> void { | ^~ ../hiro/core/../gtk/widget/icon-view.cpp:9:34: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/icon-view.cpp:9:47: error: 'treeView' was not declared in this scope; did you mean 'TreeView'? 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^~~~~~~~ | TreeView ../hiro/core/../gtk/widget/icon-view.cpp:9:57: error: 'GdkEventButton' was not declared in this scope 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:9:73: error: 'event' was not declared in this scope; did you mean 'servent'? 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/icon-view.cpp:9:89: error: expected primary-expression before '*' token 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:9:91: error: 'p' was not declared in this scope 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:9:92: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:9:94: error: expected ',' or ';' before '->' token 9 | static auto IconView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pIconView* p) -> signed { | ^~ ../hiro/core/../gtk/widget/icon-view.cpp:18:29: error: 'GtkIconView' was not declared in this scope; did you mean 'wIconView'? 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^~~~~~~~~~~ | wIconView ../ruby/input/keyboard/xlib.cpp:142:28: error: 'XK_Return' was not declared in this scope 142 | keys.append({"Return", XK_Return}); | ^~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:142:28: note: the macro 'XK_Return' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:204: note: it was later defined here 204 | #define XK_Return 0xff0d /* U+000D CARRIAGE RETURN */ | ../ruby/input/keyboard/xlib.cpp:142:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 142 | keys.append({"Return", XK_Return}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:18:42: error: 'iconView' was not declared in this scope; did you mean 'IconView'? 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^~~~~~~~ | IconView ../hiro/core/../gtk/widget/icon-view.cpp:18:61: error: expected primary-expression before '*' token 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:18:63: error: 'p' was not declared in this scope 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:18:64: error: expression list treated as compound expression in initializer [-fpermissive] 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^ ../hiro/core/../gtk/widget/icon-view.cpp:18:66: error: expected ',' or ';' before '->' token 18 | static auto IconView_change(GtkIconView* iconView, pIconView* p) -> void { | ^~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'virtual void hiro::pIconView::construct()': ../hiro/core/../gtk/widget/icon-view.cpp:23:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 23 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/icon-view.cpp:23:15: error: 'gtk_scrolled_window_new' was not declared in this scope 23 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:24:34: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 24 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:143:30: error: 'XK_space' was not declared in this scope 143 | keys.append({"Spacebar", XK_space}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:143:30: note: the macro 'XK_space' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:623: note: it was later defined here 623 | #define XK_space 0x0020 /* U+0020 SPACE */ | ../ruby/input/keyboard/xlib.cpp:143:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 143 | keys.append({"Spacebar", XK_space}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:24:66: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 24 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:24:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 24 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:25:71: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 25 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:145:33: error: 'XK_Control_L' was not declared in this scope 145 | keys.append({"LeftControl", XK_Control_L}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:145:33: note: the macro 'XK_Control_L' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:393: note: it was later defined here 393 | #define XK_Control_L 0xffe3 /* Left control */ | ../ruby/input/keyboard/xlib.cpp:145:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 145 | keys.append({"LeftControl", XK_Control_L}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:25:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 25 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:27:3: error: 'store' was not declared in this scope 27 | store = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:27:33: error: 'GDK_TYPE_PIXBUF' was not declared in this scope 27 | store = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:27:50: error: 'G_TYPE_STRING' was not declared in this scope 27 | store = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:27:11: error: 'gtk_list_store_new' was not declared in this scope 27 | store = gtk_list_store_new(2, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:146:34: error: 'XK_Control_R' was not declared in this scope 146 | keys.append({"RightControl", XK_Control_R}); | ^~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:146:34: note: the macro 'XK_Control_R' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:394: note: it was later defined here 394 | #define XK_Control_R 0xffe4 /* Right control */ | ../ruby/input/keyboard/xlib.cpp:146:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 146 | keys.append({"RightControl", XK_Control_R}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:28:3: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 28 | subWidget = gtk_icon_view_new_with_model(GTK_TREE_MODEL(store)); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:28:44: error: 'GTK_TREE_MODEL' was not declared in this scope 28 | subWidget = gtk_icon_view_new_with_model(GTK_TREE_MODEL(store)); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:28:15: error: 'gtk_icon_view_new_with_model' was not declared in this scope 28 | subWidget = gtk_icon_view_new_with_model(GTK_TREE_MODEL(store)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:147:29: error: 'XK_Alt_L' was not declared in this scope 147 | keys.append({"LeftAlt", XK_Alt_L}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:147:29: note: the macro 'XK_Alt_L' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:400: note: it was later defined here 400 | #define XK_Alt_L 0xffe9 /* Left alt */ | ../ruby/input/keyboard/xlib.cpp:147:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 147 | keys.append({"LeftAlt", XK_Alt_L}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:29:35: error: 'GTK_ICON_VIEW' was not declared in this scope 29 | gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:29:3: error: 'gtk_icon_view_set_pixbuf_column' was not declared in this scope 29 | gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:30:3: error: 'gtk_icon_view_set_text_column' was not declared in this scope 30 | gtk_icon_view_set_text_column(GTK_ICON_VIEW(subWidget), 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:148:30: error: 'XK_Alt_R' was not declared in this scope 148 | keys.append({"RightAlt", XK_Alt_R}); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:148:30: note: the macro 'XK_Alt_R' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:401: note: it was later defined here 401 | #define XK_Alt_R 0xffea /* Right alt */ | ../ruby/input/keyboard/xlib.cpp:148:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 148 | keys.append({"RightAlt", XK_Alt_R}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:31:3: error: 'gtk_icon_view_set_reorderable' was not declared in this scope 31 | gtk_icon_view_set_reorderable(GTK_ICON_VIEW(subWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:32:3: error: 'gtk_icon_view_set_margin' was not declared in this scope 32 | gtk_icon_view_set_margin(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:33:3: error: 'gtk_icon_view_set_spacing' was not declared in this scope 33 | gtk_icon_view_set_spacing(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:149:31: error: 'XK_Shift_L' was not declared in this scope 149 | keys.append({"LeftShift", XK_Shift_L}); | ^~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:149:31: note: the macro 'XK_Shift_L' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:391: note: it was later defined here 391 | #define XK_Shift_L 0xffe1 /* Left shift */ | ../ruby/input/keyboard/xlib.cpp:149:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 149 | keys.append({"LeftShift", XK_Shift_L}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:34:3: error: 'gtk_icon_view_set_column_spacing' was not declared in this scope 34 | gtk_icon_view_set_column_spacing(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:35:3: error: 'gtk_icon_view_set_row_spacing' was not declared in this scope 35 | gtk_icon_view_set_row_spacing(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:36:3: error: 'gtk_icon_view_set_item_padding' was not declared in this scope 36 | gtk_icon_view_set_item_padding(GTK_ICON_VIEW(subWidget), 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:37:21: error: 'GTK_CONTAINER' was not declared in this scope 37 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:150:32: error: 'XK_Shift_R' was not declared in this scope 150 | keys.append({"RightShift", XK_Shift_R}); | ^~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:150:32: note: the macro 'XK_Shift_R' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:392: note: it was later defined here 392 | #define XK_Shift_R 0xffe2 /* Right shift */ | ../ruby/input/keyboard/xlib.cpp:150:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 150 | keys.append({"RightShift", XK_Shift_R}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:37:3: error: 'gtk_container_add' was not declared in this scope 37 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:39:3: error: 'gtk_widget_show' was not declared in this scope 39 | gtk_widget_show(subWidget); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:52:20: error: 'G_OBJECT' was not declared in this scope 52 | g_signal_connect(G_OBJECT(subWidget), "button-press-event", G_CALLBACK(IconView_buttonEvent), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:52:63: error: 'G_CALLBACK' was not declared in this scope 52 | g_signal_connect(G_OBJECT(subWidget), "button-press-event", G_CALLBACK(IconView_buttonEvent), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:52:98: error: 'gpointer' was not declared in this scope 52 | g_signal_connect(G_OBJECT(subWidget), "button-press-event", G_CALLBACK(IconView_buttonEvent), (gpointer)this); | ^~~~~~~~ ../ruby/input/keyboard/xlib.cpp:151:31: error: 'XK_Super_L' was not declared in this scope 151 | keys.append({"LeftSuper", XK_Super_L}); | ^~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:151:31: note: the macro 'XK_Super_L' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:402: note: it was later defined here 402 | #define XK_Super_L 0xffeb /* Left super */ | ../ruby/input/keyboard/xlib.cpp:151:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 151 | keys.append({"LeftSuper", XK_Super_L}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:52:3: error: 'g_signal_connect' was not declared in this scope 52 | g_signal_connect(G_OBJECT(subWidget), "button-press-event", G_CALLBACK(IconView_buttonEvent), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:53:109: error: expected ')' before 'this' 53 | g_signal_connect(G_OBJECT(subWidget), "button-release-event", G_CALLBACK(IconView_buttonEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/icon-view.cpp:54:100: error: expected ')' before 'this' 54 | g_signal_connect(G_OBJECT(subWidget), "item-activated", G_CALLBACK(IconView_activate), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/icon-view.cpp:55:101: error: expected ')' before 'this' 55 | g_signal_connect(G_OBJECT(subWidget), "selection-changed", G_CALLBACK(IconView_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'virtual void hiro::pIconView::destruct()': ../hiro/core/../gtk/widget/icon-view.cpp:61:22: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 61 | gtk_widget_destroy(subWidget); | ^~~~~~~~~ | sWidget ../ruby/input/keyboard/xlib.cpp:152:32: error: 'XK_Super_R' was not declared in this scope 152 | keys.append({"RightSuper", XK_Super_R}); | ^~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:152:32: note: the macro 'XK_Super_R' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:403: note: it was later defined here 403 | #define XK_Super_R 0xffec /* Right super */ | ../ruby/input/keyboard/xlib.cpp:152:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 152 | keys.append({"RightSuper", XK_Super_R}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp:61:3: error: 'gtk_widget_destroy' was not declared in this scope 61 | gtk_widget_destroy(subWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:62:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 62 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../ruby/input/keyboard/xlib.cpp:153:26: error: 'XK_Menu' was not declared in this scope 153 | keys.append({"Menu", XK_Menu}); | ^~~~~~~ ../ruby/input/keyboard/xlib.cpp:153:26: note: the macro 'XK_Menu' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/keysymdef.h:269: note: it was later defined here 269 | #define XK_Menu 0xff67 | ../ruby/input/keyboard/xlib.cpp:153:16: error: no matching function for call to 'nall::vector<InputKeyboardXlib::Key>::append(<brace-enclosed initializer list>)' 153 | keys.append({"Menu", XK_Menu}); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const T&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:37:27: note: in expansion of macro 'vector' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:37:54: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const InputKeyboardXlib::Key&' 37 | template<typename T> auto vector<T>::append(const T& value) -> void { | ~~~~~~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(T&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:44:27: note: in expansion of macro 'vector' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ^~~~~~ ../nall/vector/modify.hpp:44:49: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'InputKeyboardXlib::Key&&' 44 | template<typename T> auto vector<T>::append(T&& value) -> void { | ~~~~^~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(const nall::vector_base<T>&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:51:27: note: in expansion of macro 'vector' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:51:62: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const nall::vector_base<InputKeyboardXlib::Key>&' 51 | template<typename T> auto vector<T>::append(const vector<T>& values) -> void { | ~~~~~~~~~~~~~~~~~^~~~~~ ../nall/vector.hpp:139:16: note: candidate: 'void nall::vector_base<T>::append(nall::vector_base<T>&&) [with T = InputKeyboardXlib::Key]' 139 | #define vector vector_base ../nall/vector/modify.hpp:58:27: note: in expansion of macro 'vector' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { | ^~~~~~ ../nall/vector/modify.hpp:58:57: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'nall::vector_base<InputKeyboardXlib::Key>&&' 58 | template<typename T> auto vector<T>::append(vector<T>&& values) -> void { ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::append(hiro::sIconViewItem)': ../hiro/core/../gtk/widget/icon-view.cpp:66:3: error: 'GtkTreeIter' was not declared in this scope 66 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:67:25: error: 'store' was not declared in this scope 67 | gtk_list_store_append(store, &iter); | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:67:33: error: 'iter' was not declared in this scope; did you mean 'item'? 67 | gtk_list_store_append(store, &iter); | ^~~~ | item ../hiro/core/../gtk/widget/icon-view.cpp:67:3: error: 'gtk_list_store_append' was not declared in this scope 67 | gtk_list_store_append(store, &iter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::remove(hiro::sIconViewItem)': ../hiro/core/../gtk/widget/icon-view.cpp:75:3: error: 'GtkTreeIter' was not declared in this scope 75 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:76:57: error: 'store' was not declared in this scope 76 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{item->offset()})) { | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:76:42: error: 'GTK_TREE_MODEL' was not declared in this scope 76 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{item->offset()})) { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:76:66: error: 'iter' was not declared in this scope; did you mean 'item'? 76 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{item->offset()})) { | ^~~~ | item ../hiro/core/../gtk/widget/icon-view.cpp:76:6: error: 'gtk_tree_model_get_iter_from_string' was not declared in this scope 76 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{item->offset()})) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:77:5: error: 'gtk_list_store_remove' was not declared in this scope 77 | gtk_list_store_remove(store, &iter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'virtual void hiro::pIconView::reset()': ../hiro/core/../gtk/widget/icon-view.cpp:85:24: error: 'store' was not declared in this scope 85 | gtk_list_store_clear(store); | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:85:3: error: 'gtk_list_store_clear' was not declared in this scope 85 | gtk_list_store_clear(store); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:161:21: error: 'XKeysymToKeycode' was not declared in this scope 161 | key.keycode = XKeysymToKeycode(display, key.keysym); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/icon-view.cpp:91:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 91 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/icon-view.cpp:92:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 92 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:92:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 92 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:92:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 92 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/icon-view.cpp:92:3: error: 'gtk_widget_modify_base' was not declared in this scope 92 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setBatchable(bool)': ../hiro/core/../gtk/widget/icon-view.cpp:96:50: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 96 | gtk_icon_view_set_selection_mode(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~ | sWidget ../ruby/input/keyboard/xlib.cpp: In member function 'void InputKeyboardXlib::terminate()': ../ruby/input/keyboard/xlib.cpp:169:7: error: 'XCloseDisplay' was not declared in this scope 169 | XCloseDisplay(display); | ^~~~~~~~~~~~~ ../ruby/input/keyboard/xlib.cpp:170:15: error: assignment of function 'constexpr nall::DisplayServer nall::display()' 170 | display = nullptr; | ~~~~~~~~^~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:96:36: error: 'GTK_ICON_VIEW' was not declared in this scope 96 | gtk_icon_view_set_selection_mode(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~~~~~ In file included from ../ruby/input/sdl.cpp:6: ../ruby/input/mouse/xlib.cpp: At global scope: ../ruby/input/mouse/xlib.cpp:11:3: error: 'Display' does not name a type 11 | Display* display = nullptr; | ^~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:97:17: error: 'GTK_SELECTION_MULTIPLE' was not declared in this scope 97 | batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:97:42: error: 'GTK_SELECTION_SINGLE' was not declared in this scope 97 | batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'bool InputMouseXlib::acquire()': ../ruby/input/mouse/xlib.cpp:33:38: error: 'True' was not declared in this scope 33 | if(XGrabPointer(display, handle, True, 0, GrabModeAsync, GrabModeAsync, rootWindow, invisibleCursor, CurrentTime) == GrabSuccess) { | ^~~~ ../ruby/input/mouse/xlib.cpp:33:38: note: the macro 'True' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:80: note: it was later defined here 80 | #define True 1 | ../hiro/core/../gtk/widget/icon-view.cpp:96:3: error: 'gtk_icon_view_set_selection_mode' was not declared in this scope 96 | gtk_icon_view_set_selection_mode(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setFlow(hiro::Orientation)': ../hiro/core/../gtk/widget/icon-view.cpp:104:45: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 104 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), -1); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:104:31: error: 'GTK_ICON_VIEW' was not declared in this scope 104 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), -1); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:104:5: error: 'gtk_icon_view_set_columns' was not declared in this scope 104 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), -1); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:105:5: error: 'gtk_icon_view_set_item_width' was not declared in this scope 105 | gtk_icon_view_set_item_width(GTK_ICON_VIEW(subWidget), -1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:33:8: error: 'XGrabPointer' was not declared in this scope 33 | if(XGrabPointer(display, handle, True, 0, GrabModeAsync, GrabModeAsync, rootWindow, invisibleCursor, CurrentTime) == GrabSuccess) { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:107:45: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 107 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), 1); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:107:31: error: 'GTK_ICON_VIEW' was not declared in this scope 107 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), 1); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:107:5: error: 'gtk_icon_view_set_columns' was not declared in this scope 107 | gtk_icon_view_set_columns(GTK_ICON_VIEW(subWidget), 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:108:5: error: 'gtk_icon_view_set_item_width' was not declared in this scope 108 | gtk_icon_view_set_item_width(GTK_ICON_VIEW(subWidget), max(128, pSizable::state().geometry.width() - 64)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/icon-view.cpp:113:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 113 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/icon-view.cpp:114:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 114 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:114:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 114 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:35:7: error: 'XGetPointerControl' was not declared in this scope 35 | XGetPointerControl(display, &ms.numerator, &ms.denominator, &ms.threshold); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:114:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 114 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/icon-view.cpp:114:3: error: 'gtk_widget_modify_text' was not declared in this scope 114 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'virtual void hiro::pIconView::setGeometry(hiro::Geometry)': ../hiro/core/../gtk/widget/icon-view.cpp:120:48: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 120 | gtk_icon_view_set_item_width(GTK_ICON_VIEW(subWidget), max(128, pSizable::state().geometry.width() - 64)); | ^~~~~~~~~ | sWidget ../ruby/input/mouse/xlib.cpp:38:44: error: 'False' was not declared in this scope 38 | XChangePointerControl(display, True, False, 1, 1, 0); | ^~~~~ ../ruby/input/mouse/xlib.cpp:38:44: note: the macro 'False' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:81: note: it was later defined here 81 | #define False 0 | ../hiro/core/../gtk/widget/icon-view.cpp:120:34: error: 'GTK_ICON_VIEW' was not declared in this scope 120 | gtk_icon_view_set_item_width(GTK_ICON_VIEW(subWidget), max(128, pSizable::state().geometry.width() - 64)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:120:5: error: 'gtk_icon_view_set_item_width' was not declared in this scope 120 | gtk_icon_view_set_item_width(GTK_ICON_VIEW(subWidget), max(128, pSizable::state().geometry.width() - 64)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setItemIcon(unsigned int, const nall::image&)': ../hiro/core/../gtk/widget/icon-view.cpp:126:3: error: 'GtkTreeIter' was not declared in this scope 126 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:127:57: error: 'store' was not declared in this scope 127 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:127:42: error: 'GTK_TREE_MODEL' was not declared in this scope 127 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:127:66: error: 'iter' was not declared in this scope 127 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~ ../hiro/core/../gtk/widget/icon-view.cpp:127:6: error: 'gtk_tree_model_get_iter_from_string' was not declared in this scope 127 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:129:7: error: 'GdkPixbuf' was not declared in this scope 129 | GdkPixbuf* pixbuf = CreatePixbuf(icon); | ^~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:129:18: error: 'pixbuf' was not declared in this scope 129 | GdkPixbuf* pixbuf = CreatePixbuf(icon); | ^~~~~~ ../ruby/input/mouse/xlib.cpp:38:7: error: 'XChangePointerControl' was not declared in this scope 38 | XChangePointerControl(display, True, False, 1, 1, 0); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:129:27: error: 'CreatePixbuf' was not declared in this scope 129 | GdkPixbuf* pixbuf = CreatePixbuf(icon); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:130:7: error: 'gtk_list_store_set' was not declared in this scope 130 | gtk_list_store_set(store, &iter, 0, pixbuf, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:132:7: error: 'gtk_list_store_set' was not declared in this scope 132 | gtk_list_store_set(store, &iter, 0, nullptr, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setItemSelected(unsigned int, bool)': ../hiro/core/../gtk/widget/icon-view.cpp:140:3: error: 'GtkTreePath' was not declared in this scope 140 | GtkTreePath* path = gtk_tree_path_new_from_string(string{position}); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:140:16: error: 'path' was not declared in this scope; did you mean 'nall::Location::path'? 140 | GtkTreePath* path = gtk_tree_path_new_from_string(string{position}); | ^~~~ | nall::Location::path ../nall/location.hpp:9:13: note: 'nall::Location::path' declared here 9 | inline auto path(string_view self) -> string { | ^~~~ ../ruby/input/mouse/xlib.cpp:41:7: error: 'XWarpPointer' was not declared in this scope 41 | XWarpPointer(display, None, rootWindow, 0, 0, 0, 0, screenWidth / 2, screenHeight / 2); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:140:23: error: 'gtk_tree_path_new_from_string' was not declared in this scope 140 | GtkTreePath* path = gtk_tree_path_new_from_string(string{position}); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:142:45: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 142 | gtk_icon_view_select_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:142:31: error: 'GTK_ICON_VIEW' was not declared in this scope 142 | gtk_icon_view_select_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'bool InputMouseXlib::release()': ../ruby/input/mouse/xlib.cpp:52:38: error: 'True' was not declared in this scope 52 | XChangePointerControl(display, True, True, ms.numerator, ms.denominator, ms.threshold); | ^~~~ ../ruby/input/mouse/xlib.cpp:52:38: note: the macro 'True' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:80: note: it was later defined here 80 | #define True 1 | ../hiro/core/../gtk/widget/icon-view.cpp:142:5: error: 'gtk_icon_view_select_path' was not declared in this scope 142 | gtk_icon_view_select_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:144:47: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 144 | gtk_icon_view_unselect_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:144:33: error: 'GTK_ICON_VIEW' was not declared in this scope 144 | gtk_icon_view_unselect_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:144:5: error: 'gtk_icon_view_unselect_path' was not declared in this scope 144 | gtk_icon_view_unselect_path(GTK_ICON_VIEW(subWidget), path); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:146:3: error: 'gtk_tree_path_free' was not declared in this scope 146 | gtk_tree_path_free(path); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setItemSelectedAll()': ../hiro/core/../gtk/widget/icon-view.cpp:161:42: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 161 | gtk_icon_view_select_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:161:28: error: 'GTK_ICON_VIEW' was not declared in this scope 161 | gtk_icon_view_select_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:52:7: error: 'XChangePointerControl' was not declared in this scope 52 | XChangePointerControl(display, True, True, ms.numerator, ms.denominator, ms.threshold); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:161:3: error: 'gtk_icon_view_select_all' was not declared in this scope 161 | gtk_icon_view_select_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setItemSelectedNone()': ../hiro/core/../gtk/widget/icon-view.cpp:168:44: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 168 | gtk_icon_view_unselect_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:168:30: error: 'GTK_ICON_VIEW' was not declared in this scope 168 | gtk_icon_view_unselect_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:168:3: error: 'gtk_icon_view_unselect_all' was not declared in this scope 168 | gtk_icon_view_unselect_all(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setItemText(unsigned int, const nall::string&)': ../hiro/core/../gtk/widget/icon-view.cpp:175:3: error: 'GtkTreeIter' was not declared in this scope 175 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:176:57: error: 'store' was not declared in this scope 176 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:176:42: error: 'GTK_TREE_MODEL' was not declared in this scope 176 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:53:7: error: 'XUngrabPointer' was not declared in this scope; did you mean 'XvUngrabPort'? 53 | XUngrabPointer(display, CurrentTime); | ^~~~~~~~~~~~~~ | XvUngrabPort ../hiro/core/../gtk/widget/icon-view.cpp:176:66: error: 'iter' was not declared in this scope 176 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~ ../hiro/core/../gtk/widget/icon-view.cpp:176:6: error: 'gtk_tree_model_get_iter_from_string' was not declared in this scope 176 | if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, string{position})) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:177:5: error: 'gtk_list_store_set' was not declared in this scope 177 | gtk_list_store_set(store, &iter, 1, (const char*)text, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::setOrientation(hiro::Orientation)': ../hiro/core/../gtk/widget/icon-view.cpp:182:52: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 182 | gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:182:38: error: 'GTK_ICON_VIEW' was not declared in this scope 182 | gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:183:46: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 183 | orientation == Orientation::Horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'void InputMouseXlib::poll(nall::vector<nall::shared_pointer<nall::HID::Device> >&)': ../ruby/input/mouse/xlib.cpp:74:5: error: 'XQueryPointer' was not declared in this scope 74 | XQueryPointer(display, handle, &rootReturn, &childReturn, &rootXReturn, &rootYReturn, &windowXReturn, &windowYReturn, &maskReturn); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:183:75: error: 'GTK_ORIENTATION_VERTICAL' was not declared in this scope 183 | orientation == Orientation::Horizontal ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:182:3: error: 'gtk_icon_view_set_item_orientation' was not declared in this scope 182 | gtk_icon_view_set_item_orientation(GTK_ICON_VIEW(subWidget), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp: In member function 'void hiro::pIconView::_updateSelected()': ../hiro/core/../gtk/widget/icon-view.cpp:190:3: error: 'GList' was not declared in this scope 190 | GList* list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(subWidget)); | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:190:10: error: 'list' was not declared in this scope 190 | GList* list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(subWidget)); | ^~~~ ../hiro/core/../gtk/widget/icon-view.cpp:190:64: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 190 | GList* list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/icon-view.cpp:190:50: error: 'GTK_ICON_VIEW' was not declared in this scope 190 | GList* list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:190:17: error: 'gtk_icon_view_get_selected_items' was not declared in this scope 190 | GList* list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:191:10: error: 'p' was not declared in this scope 191 | GList* p = list; | ^ ../hiro/core/../gtk/widget/icon-view.cpp:194:18: error: 'GtkTreePath' was not declared in this scope 194 | auto path = (GtkTreePath*)p->data; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:194:30: error: expected primary-expression before ')' token 194 | auto path = (GtkTreePath*)p->data; | ^ ../ruby/input/mouse/xlib.cpp:77:7: error: 'XWindowAttributes' was not declared in this scope 77 | XWindowAttributes attributes; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:195:24: error: 'gtk_tree_path_to_string' was not declared in this scope 195 | char* pathString = gtk_tree_path_to_string(path); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:197:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 197 | g_free(pathString); | ^~~~~~ | free ../hiro/core/../gtk/widget/icon-view.cpp:202:25: error: 'GFunc' was not declared in this scope 202 | g_list_foreach(list, (GFunc)gtk_tree_path_free, nullptr); | ^~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:202:3: error: 'g_list_foreach' was not declared in this scope 202 | g_list_foreach(list, (GFunc)gtk_tree_path_free, nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/icon-view.cpp:203:3: error: 'g_list_free' was not declared in this scope 203 | g_list_free(list); | ^~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:78:46: error: 'attributes' was not declared in this scope 78 | XGetWindowAttributes(display, handle, &attributes); | ^~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:46: ../hiro/core/../gtk/widget/label.cpp: At global scope: ../hiro/core/../gtk/widget/label.cpp:5:24: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:5:35: error: 'widget' was not declared in this scope; did you mean 'Widget'? 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:5:43: error: 'cairo_t' was not declared in this scope 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^~~~~~~ ../hiro/core/../gtk/widget/label.cpp:5:52: error: 'context' was not declared in this scope; did you mean 'ucontext'? 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/label.cpp:5:67: error: expected primary-expression before '*' token 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:5:69: error: 'p' was not declared in this scope 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:5:70: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:5:72: error: expected ',' or ';' before '->' token 5 | static auto Label_draw(GtkWidget* widget, cairo_t* context, pLabel* p) -> int { | ^~ ../hiro/core/../gtk/widget/label.cpp:42:26: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:42:37: error: 'widget' was not declared in this scope; did you mean 'Widget'? 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:42:45: error: 'GdkEvent' was not declared in this scope 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:42:55: error: 'event' was not declared in this scope; did you mean 'servent'? 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^~~~~ | servent ../hiro/core/../gtk/widget/label.cpp:42:68: error: expected primary-expression before '*' token 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:42:70: error: 'p' was not declared in this scope 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:42:71: error: expression list treated as compound expression in initializer [-fpermissive] 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:42:73: error: expected ',' or ';' before '->' token 42 | static auto Label_expose(GtkWidget* widget, GdkEvent* event, pLabel* p) -> int { | ^~ ../hiro/core/../gtk/widget/label.cpp:49:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:49:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:49:49: error: 'GdkEventButton' was not declared in this scope 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:49:65: error: 'event' was not declared in this scope; did you mean 'servent'? 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/label.cpp:49:79: error: expected primary-expression before '*' token 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:49:81: error: 'p' was not declared in this scope 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:49:82: error: expression list treated as compound expression in initializer [-fpermissive] 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:49:84: error: expected ',' or ';' before '->' token 49 | static auto Label_mouseEnter(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~ ../hiro/core/../gtk/widget/label.cpp:54:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:54:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:54:49: error: 'GdkEventButton' was not declared in this scope 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:54:65: error: 'event' was not declared in this scope; did you mean 'servent'? 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/label.cpp:54:79: error: expected primary-expression before '*' token 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:54:81: error: 'p' was not declared in this scope 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:54:82: error: expression list treated as compound expression in initializer [-fpermissive] 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^ ../hiro/core/../gtk/widget/label.cpp:54:84: error: expected ',' or ';' before '->' token 54 | static auto Label_mouseLeave(GtkWidget* widget, GdkEventButton* event, pCanvas* p) -> signed { | ^~ ../hiro/core/../gtk/widget/label.cpp:59:30: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:59:41: error: 'widget' was not declared in this scope; did you mean 'Widget'? 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:59:49: error: 'GdkEventButton' was not declared in this scope 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:78:7: error: 'XGetWindowAttributes' was not declared in this scope 78 | XGetWindowAttributes(display, handle, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:59:65: error: 'event' was not declared in this scope; did you mean 'servent'? 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~ | servent ../hiro/core/../gtk/widget/label.cpp:59:78: error: expected primary-expression before '*' token 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:59:80: error: 'p' was not declared in this scope 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:59:81: error: expression list treated as compound expression in initializer [-fpermissive] 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:59:83: error: expected ',' or ';' before '->' token 59 | static auto Label_mousePress(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~ ../hiro/core/../gtk/widget/label.cpp:68:32: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/label.cpp:68:43: error: 'widget' was not declared in this scope; did you mean 'Widget'? 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/label.cpp:68:51: error: 'GdkEventButton' was not declared in this scope 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:68:67: error: 'event' was not declared in this scope; did you mean 'servent'? 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~~~~ | servent ../hiro/core/../gtk/widget/label.cpp:68:80: error: expected primary-expression before '*' token 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:68:82: error: 'p' was not declared in this scope 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:68:83: error: expression list treated as compound expression in initializer [-fpermissive] 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^ ../hiro/core/../gtk/widget/label.cpp:68:85: error: expected ',' or ';' before '->' token 68 | static auto Label_mouseRelease(GtkWidget* widget, GdkEventButton* event, pLabel* p) -> int { | ^~ ../hiro/core/../gtk/widget/label.cpp: In member function 'virtual void hiro::pLabel::construct()': ../hiro/core/../gtk/widget/label.cpp:78:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 78 | gtkWidget = gtk_event_box_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/label.cpp:78:15: error: 'gtk_event_box_new' was not declared in this scope 78 | gtkWidget = gtk_event_box_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:79:3: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 79 | subWidget = gtk_label_new(""); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/label.cpp:79:15: error: 'gtk_label_new' was not declared in this scope 79 | subWidget = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:80:3: error: 'gtk_widget_show' was not declared in this scope 80 | gtk_widget_show(subWidget); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:81:21: error: 'GTK_CONTAINER' was not declared in this scope 81 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:81:3: error: 'gtk_container_add' was not declared in this scope 81 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:88:20: error: 'G_OBJECT' was not declared in this scope 88 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Label_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:88:63: error: 'G_CALLBACK' was not declared in this scope 88 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Label_mousePress), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:88:94: error: 'gpointer' was not declared in this scope 88 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Label_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:88:3: error: 'g_signal_connect' was not declared in this scope 88 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Label_mousePress), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:89:107: error: expected ')' before 'this' 89 | g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Label_mouseRelease), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/label.cpp:93:83: error: expected ')' before 'this' 93 | g_signal_connect(G_OBJECT(subWidget), "draw", G_CALLBACK(Label_draw), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/label.cpp:95:103: error: expected ')' before 'this' 95 | g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Label_mouseEnter), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/label.cpp:96:103: error: expected ')' before 'this' 96 | g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Label_mouseLeave), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/label.cpp: In member function 'virtual void hiro::pLabel::destruct()': ../hiro/core/../gtk/widget/label.cpp:102:22: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 102 | gtk_widget_destroy(subWidget); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/label.cpp:102:3: error: 'gtk_widget_destroy' was not declared in this scope 102 | gtk_widget_destroy(subWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:103:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 103 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/label.cpp: In member function 'void hiro::pLabel::setAlignment(hiro::Alignment)': ../hiro/core/../gtk/widget/label.cpp:113:35: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 113 | gtk_misc_set_alignment(GTK_MISC(subWidget), alignment.horizontal(), alignment.vertical()); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/label.cpp:113:26: error: 'GTK_MISC' was not declared in this scope 113 | gtk_misc_set_alignment(GTK_MISC(subWidget), alignment.horizontal(), alignment.vertical()); | ^~~~~~~~ ../ruby/input/mouse/xlib.cpp:86:9: error: 'XWarpPointer' was not declared in this scope 86 | XWarpPointer(display, None, rootWindow, 0, 0, 0, 0, screenWidth / 2, screenHeight / 2); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:113:3: error: 'gtk_misc_set_alignment' was not declared in this scope 113 | gtk_misc_set_alignment(GTK_MISC(subWidget), alignment.horizontal(), alignment.vertical()); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:114:18: error: 'GTK_JUSTIFY_CENTER' was not declared in this scope 114 | auto justify = GTK_JUSTIFY_CENTER; | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:115:48: error: 'GTK_JUSTIFY_LEFT' was not declared in this scope 115 | if(alignment.horizontal() < 0.333) justify = GTK_JUSTIFY_LEFT; | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:116:48: error: 'GTK_JUSTIFY_RIGHT' was not declared in this scope 116 | if(alignment.horizontal() > 0.666) justify = GTK_JUSTIFY_RIGHT; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:117:25: error: 'GTK_LABEL' was not declared in this scope 117 | gtk_label_set_justify(GTK_LABEL(subWidget), justify); | ^~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:117:3: error: 'gtk_label_set_justify' was not declared in this scope 117 | gtk_label_set_justify(GTK_LABEL(subWidget), justify); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp: In member function 'void hiro::pLabel::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/label.cpp:127:19: error: 'CreateColor' was not declared in this scope 127 | auto gdkColor = CreateColor(color); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:128:24: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 128 | gtk_widget_modify_fg(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/label.cpp:128:35: error: 'GTK_STATE_NORMAL' was not declared in this scope 128 | gtk_widget_modify_fg(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:128:3: error: 'gtk_widget_modify_fg' was not declared in this scope 128 | gtk_widget_modify_fg(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp: In member function 'void hiro::pLabel::setText(const nall::string&)': ../hiro/core/../gtk/widget/label.cpp:132:32: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 132 | gtk_label_set_text(GTK_LABEL(subWidget), text); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/label.cpp:132:22: error: 'GTK_LABEL' was not declared in this scope 132 | gtk_label_set_text(GTK_LABEL(subWidget), text); | ^~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'bool InputMouseXlib::initialize(uintptr)': ../ruby/input/mouse/xlib.cpp:110:15: error: 'XOpenDisplay' was not declared in this scope 110 | display = XOpenDisplay(0); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/label.cpp:132:3: error: 'gtk_label_set_text' was not declared in this scope 132 | gtk_label_set_text(GTK_LABEL(subWidget), text); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:47: ../hiro/core/../gtk/widget/line-edit.cpp: At global scope: ../hiro/core/../gtk/widget/line-edit.cpp:5:31: error: 'GtkEntry' was not declared in this scope 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:5:40: error: expected primary-expression before ',' token 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:5:51: error: expected primary-expression before '*' token 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:5:53: error: 'p' was not declared in this scope 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:5:54: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:5:56: error: expected ',' or ';' before '->' token 5 | static auto LineEdit_activate(GtkEntry*, pLineEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/line-edit.cpp:9:29: error: 'GtkEditable' was not declared in this scope 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:9:41: error: expected primary-expression before ',' token 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:9:52: error: expected primary-expression before '*' token 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:9:54: error: 'p' was not declared in this scope 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:9:55: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/line-edit.cpp:9:57: error: expected ',' or ';' before '->' token 9 | static auto LineEdit_change(GtkEditable*, pLineEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'virtual void hiro::pLineEdit::construct()': ../hiro/core/../gtk/widget/line-edit.cpp:15:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 15 | gtkWidget = gtk_entry_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:15:15: error: 'gtk_entry_new' was not declared in this scope 15 | gtkWidget = gtk_entry_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:22:20: error: 'G_OBJECT' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "activate", G_CALLBACK(LineEdit_activate), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:22:53: error: 'G_CALLBACK' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "activate", G_CALLBACK(LineEdit_activate), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:22:85: error: 'gpointer' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "activate", G_CALLBACK(LineEdit_activate), (gpointer)this); | ^~~~~~~~ ../ruby/input/mouse/xlib.cpp:111:18: error: 'DefaultRootWindow' was not declared in this scope 111 | rootWindow = DefaultRootWindow(display); | ^~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:111:18: note: the macro 'DefaultRootWindow' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:90: note: it was later defined here 90 | #define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root) | ../hiro/core/../gtk/widget/line-edit.cpp:22:3: error: 'g_signal_connect' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "activate", G_CALLBACK(LineEdit_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:23:91: error: expected ')' before 'this' 23 | g_signal_connect(G_OBJECT(gtkWidget), "changed", G_CALLBACK(LineEdit_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'virtual void hiro::pLineEdit::destruct()': ../hiro/core/../gtk/widget/line-edit.cpp:29:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:29:3: error: 'gtk_widget_destroy' was not declared in this scope 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'void hiro::pLineEdit::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/line-edit.cpp:38:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 38 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/line-edit.cpp:39:26: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 39 | gtk_widget_modify_base(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:39:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 39 | gtk_widget_modify_base(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:39:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 39 | gtk_widget_modify_base(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/line-edit.cpp:39:3: error: 'gtk_widget_modify_base' was not declared in this scope 39 | gtk_widget_modify_base(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:113:5: error: 'XWindowAttributes' was not declared in this scope 113 | XWindowAttributes attributes; | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'void hiro::pLineEdit::setEditable(bool)': ../hiro/core/../gtk/widget/line-edit.cpp:43:42: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 43 | gtk_editable_set_editable(GTK_EDITABLE(gtkWidget), editable); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:43:29: error: 'GTK_EDITABLE' was not declared in this scope 43 | gtk_editable_set_editable(GTK_EDITABLE(gtkWidget), editable); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:43:3: error: 'gtk_editable_set_editable' was not declared in this scope 43 | gtk_editable_set_editable(GTK_EDITABLE(gtkWidget), editable); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'void hiro::pLineEdit::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/line-edit.cpp:47:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 47 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../ruby/input/mouse/xlib.cpp:114:48: error: 'attributes' was not declared in this scope 114 | XGetWindowAttributes(display, rootWindow, &attributes); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:48:26: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 48 | gtk_widget_modify_text(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:48:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 48 | gtk_widget_modify_text(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:48:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 48 | gtk_widget_modify_text(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/line-edit.cpp:48:3: error: 'gtk_widget_modify_text' was not declared in this scope 48 | gtk_widget_modify_text(gtkWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp: In member function 'void hiro::pLineEdit::setText(const nall::string&)': ../hiro/core/../gtk/widget/line-edit.cpp:53:32: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 53 | gtk_entry_set_text(GTK_ENTRY(gtkWidget), text); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/line-edit.cpp:53:22: error: 'GTK_ENTRY' was not declared in this scope; did you mean 'AT_ENTRY'? 53 | gtk_entry_set_text(GTK_ENTRY(gtkWidget), text); | ^~~~~~~~~ | AT_ENTRY ../ruby/input/mouse/xlib.cpp:114:5: error: 'XGetWindowAttributes' was not declared in this scope 114 | XGetWindowAttributes(display, rootWindow, &attributes); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/line-edit.cpp:53:3: error: 'gtk_entry_set_text' was not declared in this scope 53 | gtk_entry_set_text(GTK_ENTRY(gtkWidget), text); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:48: ../hiro/core/../gtk/widget/progress-bar.cpp: In member function 'virtual void hiro::pProgressBar::construct()': ../hiro/core/../gtk/widget/progress-bar.cpp:6:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 6 | gtkWidget = gtk_progress_bar_new(); | ^~~~~~~~~ | pWidget ../ruby/input/mouse/xlib.cpp:121:5: error: 'XColor' was not declared in this scope 121 | XColor black, unused; | ^~~~~~ ../hiro/core/../gtk/widget/progress-bar.cpp:6:15: error: 'gtk_progress_bar_new' was not declared in this scope 6 | gtkWidget = gtk_progress_bar_new(); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/progress-bar.cpp: In member function 'virtual void hiro::pProgressBar::destruct()': ../hiro/core/../gtk/widget/progress-bar.cpp:14:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 14 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/progress-bar.cpp:14:3: error: 'gtk_widget_destroy' was not declared in this scope 14 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/progress-bar.cpp: In member function 'void hiro::pProgressBar::setPosition(unsigned int)': ../hiro/core/../gtk/widget/progress-bar.cpp:23:50: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 23 | gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(gtkWidget), (double)position / 100.0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/progress-bar.cpp:23:33: error: 'GTK_PROGRESS_BAR' was not declared in this scope 23 | gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(gtkWidget), (double)position / 100.0); | ^~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:123:50: error: 'DefaultScreen' was not declared in this scope 123 | Colormap colormap = DefaultColormap(display, DefaultScreen(display)); | ^~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:123:50: note: the macro 'DefaultScreen' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:89: note: it was later defined here 89 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | ../hiro/core/../gtk/widget/progress-bar.cpp:23:3: error: 'gtk_progress_bar_set_fraction' was not declared in this scope 23 | gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(gtkWidget), (double)position / 100.0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:49: ../hiro/core/../gtk/widget/radio-button.cpp: At global scope: ../hiro/core/../gtk/widget/radio-button.cpp:5:34: error: 'GtkToggleButton' was not declared in this scope 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:5:50: error: expected primary-expression before ',' token 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-button.cpp:5:64: error: expected primary-expression before '*' token 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-button.cpp:5:66: error: 'p' was not declared in this scope 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-button.cpp:5:67: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-button.cpp:5:69: error: expected ',' or ';' before '->' token 5 | static auto RadioButton_activate(GtkToggleButton*, pRadioButton* p) -> void { | ^~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'virtual void hiro::pRadioButton::construct()': ../hiro/core/../gtk/widget/radio-button.cpp:13:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 13 | gtkWidget = gtk_toggle_button_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:13:15: error: 'gtk_toggle_button_new' was not declared in this scope 13 | gtkWidget = gtk_toggle_button_new(); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:20:20: error: 'G_OBJECT' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioButton_activate), (gpointer)this); | ^~~~~~~~ ../ruby/input/mouse/xlib.cpp:123:25: error: 'DefaultColormap' was not declared in this scope 123 | Colormap colormap = DefaultColormap(display, DefaultScreen(display)); | ^~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:123:25: note: the macro 'DefaultColormap' had not yet been defined /home/pbulk/build/emulators/bsnes/work/.buildlink/include/X11/Xlib.h:110: note: it was later defined here 110 | #define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap) | ../hiro/core/../gtk/widget/radio-button.cpp:20:52: error: 'G_CALLBACK' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioButton_activate), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:20:87: error: 'gpointer' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioButton_activate), (gpointer)this); | ^~~~~~~~ ../ruby/input/mouse/xlib.cpp:124:51: error: 'black' was not declared in this scope 124 | XAllocNamedColor(display, colormap, "black", &black, &unused); | ^~~~~ ../ruby/input/mouse/xlib.cpp:124:59: error: 'unused' was not declared in this scope 124 | XAllocNamedColor(display, colormap, "black", &black, &unused); | ^~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:20:3: error: 'g_signal_connect' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioButton_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'virtual void hiro::pRadioButton::destruct()': ../hiro/core/../gtk/widget/radio-button.cpp:26:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:26:3: error: 'gtk_widget_destroy' was not declared in this scope 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setBordered(bool)': ../hiro/core/../gtk/widget/radio-button.cpp:46:36: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 46 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:46:25: error: 'GTK_BUTTON' was not declared in this scope 46 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:46:59: error: 'GTK_RELIEF_NORMAL' was not declared in this scope 46 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:124:5: error: 'XAllocNamedColor' was not declared in this scope 124 | XAllocNamedColor(display, colormap, "black", &black, &unused); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:46:79: error: 'GTK_RELIEF_NONE' was not declared in this scope 46 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:46:3: error: 'gtk_button_set_relief' was not declared in this scope 46 | gtk_button_set_relief(GTK_BUTTON(gtkWidget), bordered ? GTK_RELIEF_NORMAL : GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setChecked()': ../hiro/core/../gtk/widget/radio-button.cpp:55:64: error: 'struct hiro::pRadioButton' has no member named 'gtkWidget'; did you mean 'pWidget'? 55 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:55:40: error: 'GTK_TOGGLE_BUTTON' was not declared in this scope 55 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:55:11: error: 'gtk_toggle_button_set_active' was not declared in this scope 55 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setGroup(hiro::sGroup)': ../hiro/core/../gtk/widget/radio-button.cpp:70:64: error: 'struct hiro::pRadioButton' has no member named 'gtkWidget'; did you mean 'pWidget'? 70 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked = first); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:70:40: error: 'GTK_TOGGLE_BUTTON' was not declared in this scope 70 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked = first); | ^~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:125:14: error: 'XCreateBitmapFromData' was not declared in this scope 125 | pixmap = XCreateBitmapFromData(display, handle, invisibleData, 8, 8); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:70:11: error: 'gtk_toggle_button_set_active' was not declared in this scope 70 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(self->gtkWidget), radioButton->state.checked = first); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/radio-button.cpp:81:5: error: 'GtkImage' was not declared in this scope 81 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:81:15: error: 'gtkImage' was not declared in this scope 81 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:81:26: error: 'CreateImage' was not declared in this scope 81 | GtkImage* gtkImage = CreateImage(icon); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:82:37: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 82 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:82:26: error: 'GTK_BUTTON' was not declared in this scope 82 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:82:50: error: 'GtkWidget' was not declared in this scope; did you mean 'pWidget'? 82 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:82:60: error: expected primary-expression before ')' token 82 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^ ../hiro/core/../gtk/widget/radio-button.cpp:82:5: error: 'gtk_button_set_image' was not declared in this scope 82 | gtk_button_set_image(GTK_BUTTON(gtkWidget), (GtkWidget*)gtkImage); | ^~~~~~~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:126:23: error: 'XCreatePixmapCursor' was not declared in this scope 126 | invisibleCursor = XCreatePixmapCursor(display, pixmap, pixmap, &black, &black, 0, 0); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:84:37: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 84 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:84:26: error: 'GTK_BUTTON' was not declared in this scope 84 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:84:5: error: 'gtk_button_set_image' was not declared in this scope 84 | gtk_button_set_image(GTK_BUTTON(gtkWidget), nullptr); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setOrientation(hiro::Orientation)': ../hiro/core/../gtk/widget/radio-button.cpp:90:74: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 90 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~ | pWidget ../ruby/input/mouse/xlib.cpp:127:5: error: 'XFreePixmap' was not declared in this scope; did you mean 'XYPixmap'? 127 | XFreePixmap(display, pixmap); | ^~~~~~~~~~~ | XYPixmap ../hiro/core/../gtk/widget/radio-button.cpp:90:63: error: 'GTK_BUTTON' was not declared in this scope 90 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:90:86: error: 'GTK_POS_LEFT' was not declared in this scope 90 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:90:33: error: 'gtk_button_set_image_position' was not declared in this scope 90 | case Orientation::Horizontal: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_LEFT); break; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:91:86: error: 'GTK_POS_TOP' was not declared in this scope 91 | case Orientation::Vertical: gtk_button_set_image_position(GTK_BUTTON(gtkWidget), GTK_POS_TOP); break; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp: In member function 'void hiro::pRadioButton::setText(const nall::string&)': ../hiro/core/../gtk/widget/radio-button.cpp:96:35: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 96 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-button.cpp:96:24: error: 'GTK_BUTTON' was not declared in this scope 96 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-button.cpp:96:3: error: 'gtk_button_set_label' was not declared in this scope 96 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:50: ../hiro/core/../gtk/widget/radio-label.cpp: At global scope: ../hiro/core/../gtk/widget/radio-label.cpp:5:33: error: 'GtkToggleButton' was not declared in this scope 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:5:49: error: expected primary-expression before ',' token 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-label.cpp:5:62: error: expected primary-expression before '*' token 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-label.cpp:5:64: error: 'p' was not declared in this scope 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-label.cpp:5:65: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^ ../hiro/core/../gtk/widget/radio-label.cpp:5:67: error: expected ',' or ';' before '->' token 5 | static auto RadioLabel_activate(GtkToggleButton*, pRadioLabel* p) -> void { | ^~ ../hiro/core/../gtk/widget/radio-label.cpp: In member function 'virtual void hiro::pRadioLabel::construct()': ../hiro/core/../gtk/widget/radio-label.cpp:13:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 13 | gtkWidget = gtk_radio_button_new_with_label(nullptr, ""); | ^~~~~~~~~ | pWidget ../ruby/input/mouse/xlib.cpp:128:5: error: 'XFreeColors' was not declared in this scope; did you mean 'TrueColor'? 128 | XFreeColors(display, colormap, &black.pixel, 1, 0); | ^~~~~~~~~~~ | TrueColor ../hiro/core/../gtk/widget/radio-label.cpp:13:15: error: 'gtk_radio_button_new_with_label' was not declared in this scope 13 | gtkWidget = gtk_radio_button_new_with_label(nullptr, ""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:14:3: error: 'gtkToggleButton' was not declared in this scope 14 | gtkToggleButton = GTK_TOGGLE_BUTTON(gtkWidget); | ^~~~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'void InputMouseXlib::terminate()': ../ruby/input/mouse/xlib.cpp:153:7: error: 'XFreeCursor' was not declared in this scope; did you mean 'SDL_FreeCursor'? 153 | XFreeCursor(display, invisibleCursor); | ^~~~~~~~~~~ | SDL_FreeCursor ../hiro/core/../gtk/widget/radio-label.cpp:14:21: error: 'GTK_TOGGLE_BUTTON' was not declared in this scope 14 | gtkToggleButton = GTK_TOGGLE_BUTTON(gtkWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:15:3: error: 'gtkRadioButton' was not declared in this scope; did you mean 'wRadioButton'? 15 | gtkRadioButton = GTK_RADIO_BUTTON(gtkWidget); | ^~~~~~~~~~~~~~ | wRadioButton ../hiro/core/../gtk/widget/radio-label.cpp:15:20: error: 'GTK_RADIO_BUTTON' was not declared in this scope 15 | gtkRadioButton = GTK_RADIO_BUTTON(gtkWidget); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:20:20: error: 'G_OBJECT' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioLabel_activate), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:20:52: error: 'G_CALLBACK' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioLabel_activate), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:20:86: error: 'gpointer' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioLabel_activate), (gpointer)this); | ^~~~~~~~ ../ruby/input/mouse/xlib.cpp:157:7: error: 'XCloseDisplay' was not declared in this scope 157 | XCloseDisplay(display); | ^~~~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp:158:15: error: assignment of function 'constexpr nall::DisplayServer nall::display()' 158 | display = nullptr; | ~~~~~~~~^~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:20:3: error: 'g_signal_connect' was not declared in this scope 20 | g_signal_connect(G_OBJECT(gtkWidget), "toggled", G_CALLBACK(RadioLabel_activate), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp: In member function 'virtual void hiro::pRadioLabel::destruct()': ../hiro/core/../gtk/widget/radio-label.cpp:26:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-label.cpp:26:3: error: 'gtk_widget_destroy' was not declared in this scope 26 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp: In member function 'void hiro::pRadioLabel::setChecked()': ../hiro/core/../gtk/widget/radio-label.cpp:36:32: error: 'gtkToggleButton' was not declared in this scope 36 | gtk_toggle_button_set_active(gtkToggleButton, true); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:36:3: error: 'gtk_toggle_button_set_active' was not declared in this scope 36 | gtk_toggle_button_set_active(gtkToggleButton, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp: In member function 'void hiro::pRadioLabel::setGroup(hiro::sGroup)': ../hiro/core/../gtk/widget/radio-label.cpp:40:9: error: 'GtkRadioButton' was not declared in this scope; did you mean 'wRadioButton'? 40 | maybe<GtkRadioButton*> gtkRadioButton; | ^~~~~~~~~~~~~~ | wRadioButton ../hiro/core/../gtk/widget/radio-label.cpp:40:24: error: template argument 1 is invalid 40 | maybe<GtkRadioButton*> gtkRadioButton; | ^ ../hiro/core/../gtk/widget/radio-label.cpp:46:44: error: 'struct hiro::pRadioLabel' has no member named 'gtkRadioButton' 46 | gtk_radio_button_set_group(self->gtkRadioButton, nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:46:11: error: 'gtk_radio_button_set_group' was not declared in this scope 46 | gtk_radio_button_set_group(self->gtkRadioButton, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:48:36: error: 'struct hiro::pRadioLabel' has no member named 'gtkRadioButton' 48 | gtkRadioButton = self->gtkRadioButton; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:49:48: error: 'struct hiro::pRadioLabel' has no member named 'gtkToggleButton' 49 | gtk_toggle_button_set_active(self->gtkToggleButton, radioLabel->state.checked = true); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:49:13: error: 'gtk_toggle_button_set_active' was not declared in this scope 49 | gtk_toggle_button_set_active(self->gtkToggleButton, radioLabel->state.checked = true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:51:46: error: 'struct hiro::pRadioLabel' has no member named 'gtkRadioButton' 51 | gtk_radio_button_set_group(self->gtkRadioButton, gtk_radio_button_get_group(*gtkRadioButton)); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:51:89: error: invalid type argument of unary '*' (have 'int') 51 | gtk_radio_button_set_group(self->gtkRadioButton, gtk_radio_button_get_group(*gtkRadioButton)); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:51:62: error: 'gtk_radio_button_get_group' was not declared in this scope 51 | gtk_radio_button_set_group(self->gtkRadioButton, gtk_radio_button_get_group(*gtkRadioButton)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:52:48: error: 'struct hiro::pRadioLabel' has no member named 'gtkToggleButton' 52 | gtk_toggle_button_set_active(self->gtkToggleButton, radioLabel->state.checked = false); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:52:13: error: 'gtk_toggle_button_set_active' was not declared in this scope 52 | gtk_toggle_button_set_active(self->gtkToggleButton, radioLabel->state.checked = false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp: In member function 'void hiro::pRadioLabel::setText(const nall::string&)': ../hiro/core/../gtk/widget/radio-label.cpp:61:35: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 61 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/radio-label.cpp:61:24: error: 'GTK_BUTTON' was not declared in this scope 61 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/radio-label.cpp:61:3: error: 'gtk_button_set_label' was not declared in this scope 61 | gtk_button_set_label(GTK_BUTTON(gtkWidget), text); | ^~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:51: ../hiro/core/../gtk/widget/source-edit.cpp: At global scope: ../hiro/core/../gtk/widget/source-edit.cpp:5:31: error: 'GtkTextBuffer' was not declared in this scope 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:5:45: error: expected primary-expression before ',' token 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:5:58: error: expected primary-expression before '*' token 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:5:60: error: 'p' was not declared in this scope 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:5:61: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:5:63: error: expected ',' or ';' before '->' token 5 | static auto SourceEdit_change(GtkTextBuffer*, pSourceEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/source-edit.cpp:9:29: error: 'GObject' was not declared in this scope; did you mean 'wObject'? 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^~~~~~~ | wObject ../hiro/core/../gtk/widget/source-edit.cpp:9:37: error: expected primary-expression before ',' token 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:9:39: error: 'GParamSpec' was not declared in this scope 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:9:50: error: expected primary-expression before ',' token 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:9:63: error: expected primary-expression before '*' token 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:9:65: error: 'p' was not declared in this scope 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:9:66: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/source-edit.cpp:9:68: error: expected ',' or ';' before '->' token 9 | static auto SourceEdit_move(GObject*, GParamSpec*, pSourceEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'virtual void hiro::pSourceEdit::construct()': ../hiro/core/../gtk/widget/source-edit.cpp:15:3: error: 'gtkScrolledWindow' was not declared in this scope 15 | gtkScrolledWindow = (GtkScrolledWindow*)gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:15:24: error: 'GtkScrolledWindow' was not declared in this scope 15 | gtkScrolledWindow = (GtkScrolledWindow*)gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:15:42: error: expected primary-expression before ')' token 15 | gtkScrolledWindow = (GtkScrolledWindow*)gtk_scrolled_window_new(0, 0); | ^ ../hiro/core/../gtk/widget/source-edit.cpp:16:3: error: 'gtkContainer' was not declared in this scope 16 | gtkContainer = GTK_CONTAINER(gtkScrolledWindow); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:16:18: error: 'GTK_CONTAINER' was not declared in this scope 16 | gtkContainer = GTK_CONTAINER(gtkScrolledWindow); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:17:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 17 | gtkWidget = GTK_WIDGET(gtkScrolledWindow); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/source-edit.cpp:17:15: error: 'GTK_WIDGET' was not declared in this scope 17 | gtkWidget = GTK_WIDGET(gtkScrolledWindow); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:18:53: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 18 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:18:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 18 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:19:58: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 19 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:19:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 19 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:21:3: error: 'gtkSourceLanguageManager' was not declared in this scope 21 | gtkSourceLanguageManager = gtk_source_language_manager_get_default(); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:21:30: error: 'gtk_source_language_manager_get_default' was not declared in this scope 21 | gtkSourceLanguageManager = gtk_source_language_manager_get_default(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:22:3: error: 'gtkSourceLanguage' was not declared in this scope 22 | gtkSourceLanguage = gtk_source_language_manager_get_language(gtkSourceLanguageManager, ""); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:22:23: error: 'gtk_source_language_manager_get_language' was not declared in this scope 22 | gtkSourceLanguage = gtk_source_language_manager_get_language(gtkSourceLanguageManager, ""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:24:3: error: 'gtkSourceStyleSchemeManager' was not declared in this scope 24 | gtkSourceStyleSchemeManager = gtk_source_style_scheme_manager_get_default(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:24:33: error: 'gtk_source_style_scheme_manager_get_default' was not declared in this scope 24 | gtkSourceStyleSchemeManager = gtk_source_style_scheme_manager_get_default(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:25:3: error: 'gtkSourceStyleScheme' was not declared in this scope 25 | gtkSourceStyleScheme = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, "classic"); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:25:26: error: 'gtk_source_style_scheme_manager_get_scheme' was not declared in this scope 25 | gtkSourceStyleScheme = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, "classic"); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:27:3: error: 'gtkSourceBuffer' was not declared in this scope 27 | gtkSourceBuffer = gtk_source_buffer_new(nullptr); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:27:21: error: 'gtk_source_buffer_new' was not declared in this scope 27 | gtkSourceBuffer = gtk_source_buffer_new(nullptr); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:28:3: error: 'gtkTextBuffer' was not declared in this scope 28 | gtkTextBuffer = GTK_TEXT_BUFFER(gtkSourceBuffer); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:28:19: error: 'GTK_TEXT_BUFFER' was not declared in this scope 28 | gtkTextBuffer = GTK_TEXT_BUFFER(gtkSourceBuffer); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:29:3: error: 'gtk_source_buffer_set_highlight_matching_brackets' was not declared in this scope 29 | gtk_source_buffer_set_highlight_matching_brackets(gtkSourceBuffer, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:30:3: error: 'gtk_source_buffer_set_highlight_syntax' was not declared in this scope 30 | gtk_source_buffer_set_highlight_syntax(gtkSourceBuffer, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:31:3: error: 'gtk_source_buffer_set_language' was not declared in this scope 31 | gtk_source_buffer_set_language(gtkSourceBuffer, gtkSourceLanguage); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:32:3: error: 'gtk_source_buffer_set_style_scheme' was not declared in this scope 32 | gtk_source_buffer_set_style_scheme(gtkSourceBuffer, gtkSourceStyleScheme); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:34:3: error: 'gtkSourceView' was not declared in this scope 34 | gtkSourceView = (GtkSourceView*)gtk_source_view_new_with_buffer(gtkSourceBuffer); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:34:20: error: 'GtkSourceView' was not declared in this scope 34 | gtkSourceView = (GtkSourceView*)gtk_source_view_new_with_buffer(gtkSourceBuffer); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:34:34: error: expected primary-expression before ')' token 34 | gtkSourceView = (GtkSourceView*)gtk_source_view_new_with_buffer(gtkSourceBuffer); | ^ ../hiro/core/../gtk/widget/source-edit.cpp:35:3: error: 'gtkTextView' was not declared in this scope 35 | gtkTextView = GTK_TEXT_VIEW(gtkSourceView); | ^~~~~~~~~~~ ../ruby/input/mouse/xlib.cpp: In member function 'bool InputMouseXlib::acquire()': ../ruby/input/mouse/xlib.cpp:47:3: warning: control reaches end of non-void function [-Wreturn-type] 47 | } | ^ ../hiro/core/../gtk/widget/source-edit.cpp:35:17: error: 'GTK_TEXT_VIEW' was not declared in this scope 35 | gtkTextView = GTK_TEXT_VIEW(gtkSourceView); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:36:3: error: 'gtkWidgetSourceView' was not declared in this scope 36 | gtkWidgetSourceView = GTK_WIDGET(gtkSourceView); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:37:3: error: 'gtk_source_view_set_auto_indent' was not declared in this scope 37 | gtk_source_view_set_auto_indent(gtkSourceView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:38:51: error: 'GtkSourceDrawSpacesFlags' was not declared in this scope 38 | gtk_source_view_set_draw_spaces(gtkSourceView, (GtkSourceDrawSpacesFlags)0); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:38:3: error: 'gtk_source_view_set_draw_spaces' was not declared in this scope 38 | gtk_source_view_set_draw_spaces(gtkSourceView, (GtkSourceDrawSpacesFlags)0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:39:3: error: 'gtk_source_view_set_highlight_current_line' was not declared in this scope 39 | gtk_source_view_set_highlight_current_line(gtkSourceView, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:40:3: error: 'gtk_source_view_set_indent_on_tab' was not declared in this scope 40 | gtk_source_view_set_indent_on_tab(gtkSourceView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:41:3: error: 'gtk_source_view_set_indent_width' was not declared in this scope 41 | gtk_source_view_set_indent_width(gtkSourceView, 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:42:3: error: 'gtk_source_view_set_insert_spaces_instead_of_tabs' was not declared in this scope 42 | gtk_source_view_set_insert_spaces_instead_of_tabs(gtkSourceView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:43:3: error: 'gtk_source_view_set_right_margin_position' was not declared in this scope 43 | gtk_source_view_set_right_margin_position(gtkSourceView, 80); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:44:3: error: 'gtk_source_view_set_show_line_marks' was not declared in this scope 44 | gtk_source_view_set_show_line_marks(gtkSourceView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:45:3: error: 'gtk_source_view_set_show_line_numbers' was not declared in this scope 45 | gtk_source_view_set_show_line_numbers(gtkSourceView, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:46:3: error: 'gtk_source_view_set_show_right_margin' was not declared in this scope 46 | gtk_source_view_set_show_right_margin(gtkSourceView, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:47:53: error: 'GTK_SOURCE_SMART_HOME_END_DISABLED' was not declared in this scope 47 | gtk_source_view_set_smart_home_end(gtkSourceView, GTK_SOURCE_SMART_HOME_END_DISABLED); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:47:3: error: 'gtk_source_view_set_smart_home_end' was not declared in this scope 47 | gtk_source_view_set_smart_home_end(gtkSourceView, GTK_SOURCE_SMART_HOME_END_DISABLED); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:48:3: error: 'gtk_source_view_set_tab_width' was not declared in this scope 48 | gtk_source_view_set_tab_width(gtkSourceView, 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:49:3: error: 'gtk_container_add' was not declared in this scope 49 | gtk_container_add(gtkContainer, gtkWidgetSourceView); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:50:3: error: 'gtk_widget_show' was not declared in this scope 50 | gtk_widget_show(gtkWidgetSourceView); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:60:20: error: 'G_OBJECT' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkSourceBuffer), "changed", G_CALLBACK(SourceEdit_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:60:58: error: 'G_CALLBACK' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkSourceBuffer), "changed", G_CALLBACK(SourceEdit_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:60:90: error: 'gpointer' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkSourceBuffer), "changed", G_CALLBACK(SourceEdit_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:60:3: error: 'g_signal_connect' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkSourceBuffer), "changed", G_CALLBACK(SourceEdit_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:61:113: error: expected ')' before 'this' 61 | g_signal_connect(G_OBJECT(gtkSourceBuffer), "notify::cursor-position", G_CALLBACK(SourceEdit_move), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'virtual void hiro::pSourceEdit::destruct()': ../hiro/core/../gtk/widget/source-edit.cpp:68:22: error: 'gtkWidgetSourceView' was not declared in this scope 68 | gtk_widget_destroy(gtkWidgetSourceView); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:68:3: error: 'gtk_widget_destroy' was not declared in this scope 68 | gtk_widget_destroy(gtkWidgetSourceView); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:69:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 69 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setEditable(bool)': ../hiro/core/../gtk/widget/source-edit.cpp:73:30: error: 'gtkTextView' was not declared in this scope 73 | gtk_text_view_set_editable(gtkTextView, editable); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:73:3: error: 'gtk_text_view_set_editable' was not declared in this scope 73 | gtk_text_view_set_editable(gtkTextView, editable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'virtual void hiro::pSourceEdit::setFocused()': ../hiro/core/../gtk/widget/source-edit.cpp:77:25: error: 'gtkWidgetSourceView' was not declared in this scope 77 | gtk_widget_grab_focus(gtkWidgetSourceView); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:77:3: error: 'gtk_widget_grab_focus' was not declared in this scope 77 | gtk_widget_grab_focus(gtkWidgetSourceView); | ^~~~~~~~~~~~~~~~~~~~~ gmake: *** [../ruby/GNUmakefile:76: obj/ruby.o] Error 1 ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setLanguage(const nall::string&)': ../hiro/core/../gtk/widget/source-edit.cpp:85:3: error: 'gtkSourceLanguage' was not declared in this scope 85 | gtkSourceLanguage = gtk_source_language_manager_get_language(gtkSourceLanguageManager, name); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:85:64: error: 'gtkSourceLanguageManager' was not declared in this scope 85 | gtkSourceLanguage = gtk_source_language_manager_get_language(gtkSourceLanguageManager, name); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:85:23: error: 'gtk_source_language_manager_get_language' was not declared in this scope 85 | gtkSourceLanguage = gtk_source_language_manager_get_language(gtkSourceLanguageManager, name); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:86:34: error: 'gtkSourceBuffer' was not declared in this scope 86 | gtk_source_buffer_set_language(gtkSourceBuffer, gtkSourceLanguage); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:86:3: error: 'gtk_source_buffer_set_language' was not declared in this scope 86 | gtk_source_buffer_set_language(gtkSourceBuffer, gtkSourceLanguage); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setNumbered(bool)': ../hiro/core/../gtk/widget/source-edit.cpp:90:41: error: 'gtkSourceView' was not declared in this scope 90 | gtk_source_view_set_show_line_numbers(gtkSourceView, numbered); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:90:3: error: 'gtk_source_view_set_show_line_numbers' was not declared in this scope 90 | gtk_source_view_set_show_line_numbers(gtkSourceView, numbered); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setScheme(const nall::string&)': ../hiro/core/../gtk/widget/source-edit.cpp:95:3: error: 'gtkSourceStyleScheme' was not declared in this scope 95 | gtkSourceStyleScheme = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, scheme.downcase()); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:95:69: error: 'gtkSourceStyleSchemeManager' was not declared in this scope 95 | gtkSourceStyleScheme = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, scheme.downcase()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:95:26: error: 'gtk_source_style_scheme_manager_get_scheme' was not declared in this scope 95 | gtkSourceStyleScheme = gtk_source_style_scheme_manager_get_scheme(gtkSourceStyleSchemeManager, scheme.downcase()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:97:38: error: 'gtkSourceBuffer' was not declared in this scope 97 | gtk_source_buffer_set_style_scheme(gtkSourceBuffer, gtkSourceStyleScheme); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:97:3: error: 'gtk_source_buffer_set_style_scheme' was not declared in this scope 97 | gtk_source_buffer_set_style_scheme(gtkSourceBuffer, gtkSourceStyleScheme); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setText(const nall::string&)': ../hiro/core/../gtk/widget/source-edit.cpp:104:47: error: 'gtkSourceBuffer' was not declared in this scope 104 | gtk_source_buffer_begin_not_undoable_action(gtkSourceBuffer); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:104:3: error: 'gtk_source_buffer_begin_not_undoable_action' was not declared in this scope 104 | gtk_source_buffer_begin_not_undoable_action(gtkSourceBuffer); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:105:28: error: 'gtkTextBuffer' was not declared in this scope 105 | gtk_text_buffer_set_text(gtkTextBuffer, text, -1); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:105:3: error: 'gtk_text_buffer_set_text' was not declared in this scope 105 | gtk_text_buffer_set_text(gtkTextBuffer, text, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:106:3: error: 'gtk_source_buffer_end_not_undoable_action' was not declared in this scope 106 | gtk_source_buffer_end_not_undoable_action(gtkSourceBuffer); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setTextCursor(hiro::TextCursor)': ../hiro/core/../gtk/widget/source-edit.cpp:112:3: error: 'GtkTextIter' was not declared in this scope 112 | GtkTextIter offset, length; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:113:32: error: 'gtkTextBuffer' was not declared in this scope 113 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &offset); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:113:48: error: 'offset' was not declared in this scope; did you mean 'offset_t'? 113 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &offset); | ^~~~~~ | offset_t ../hiro/core/../gtk/widget/source-edit.cpp:113:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 113 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:114:48: error: 'length' was not declared in this scope; did you mean 'len_t'? 114 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &length); | ^~~~~~ | len_t ../hiro/core/../gtk/widget/source-edit.cpp:115:16: error: 'gtk_text_iter_get_offset' was not declared in this scope 115 | signed end = gtk_text_iter_get_offset(&offset); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:116:3: error: 'gtk_text_iter_set_offset' was not declared in this scope 116 | gtk_text_iter_set_offset(&offset, max(0, min(end, cursor.offset()))); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:118:3: error: 'gtk_text_buffer_select_range' was not declared in this scope 118 | gtk_text_buffer_select_range(gtkTextBuffer, &offset, &length); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:119:15: error: 'gtk_text_buffer_get_mark' was not declared in this scope 119 | auto mark = gtk_text_buffer_get_mark(gtkTextBuffer, "insert"); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:120:38: error: 'gtkTextView' was not declared in this scope 120 | gtk_text_view_scroll_mark_onscreen(gtkTextView, mark); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:120:3: error: 'gtk_text_view_scroll_mark_onscreen' was not declared in this scope 120 | gtk_text_view_scroll_mark_onscreen(gtkTextView, mark); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'void hiro::pSourceEdit::setWordWrap(bool)': ../hiro/core/../gtk/widget/source-edit.cpp:125:31: error: 'gtkTextView' was not declared in this scope 125 | gtk_text_view_set_wrap_mode(gtkTextView, wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:125:55: error: 'GTK_WRAP_WORD_CHAR' was not declared in this scope 125 | gtk_text_view_set_wrap_mode(gtkTextView, wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:125:76: error: 'GTK_WRAP_NONE' was not declared in this scope 125 | gtk_text_view_set_wrap_mode(gtkTextView, wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:125:3: error: 'gtk_text_view_set_wrap_mode' was not declared in this scope 125 | gtk_text_view_set_wrap_mode(gtkTextView, wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:126:34: error: 'gtkScrolledWindow' was not declared in this scope 126 | gtk_scrolled_window_set_policy(gtkScrolledWindow, wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:126:64: error: 'GTK_POLICY_NEVER' was not declared in this scope 126 | gtk_scrolled_window_set_policy(gtkScrolledWindow, wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:126:83: error: 'GTK_POLICY_ALWAYS' was not declared in this scope 126 | gtk_scrolled_window_set_policy(gtkScrolledWindow, wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:126:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 126 | gtk_scrolled_window_set_policy(gtkScrolledWindow, wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'nall::string hiro::pSourceEdit::text() const': ../hiro/core/../gtk/widget/source-edit.cpp:130:3: error: 'GtkTextIter' was not declared in this scope 130 | GtkTextIter startIter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:131:34: error: 'gtkTextBuffer' was not declared in this scope 131 | gtk_text_buffer_get_start_iter(gtkTextBuffer, &startIter); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:131:50: error: 'startIter' was not declared in this scope 131 | gtk_text_buffer_get_start_iter(gtkTextBuffer, &startIter); | ^~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:131:3: error: 'gtk_text_buffer_get_start_iter' was not declared in this scope 131 | gtk_text_buffer_get_start_iter(gtkTextBuffer, &startIter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:133:14: error: expected ';' before 'endIter' 133 | GtkTextIter endIter; | ^~~~~~~~ | ; ../hiro/core/../gtk/widget/source-edit.cpp:134:48: error: 'endIter' was not declared in this scope 134 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &endIter); | ^~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:134:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 134 | gtk_text_buffer_get_end_iter(gtkTextBuffer, &endIter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:136:22: error: 'gtk_text_buffer_get_text' was not declared in this scope 136 | char* textBuffer = gtk_text_buffer_get_text(gtkTextBuffer, &startIter, &endIter, true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:138:3: error: 'g_free' was not declared in this scope; did you mean 'free'? 138 | g_free(textBuffer); | ^~~~~~ | free ../hiro/core/../gtk/widget/source-edit.cpp: In member function 'hiro::TextCursor hiro::pSourceEdit::textCursor() const': ../hiro/core/../gtk/widget/source-edit.cpp:145:25: error: 'gtkSourceBuffer' was not declared in this scope 145 | g_object_get(G_OBJECT(gtkSourceBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:145:16: error: 'G_OBJECT' was not declared in this scope 145 | g_object_get(G_OBJECT(gtkSourceBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:145:3: error: 'g_object_get' was not declared in this scope 145 | g_object_get(G_OBJECT(gtkSourceBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:147:3: error: 'GtkTextIter' was not declared in this scope 147 | GtkTextIter start, end; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:148:43: error: 'gtkTextBuffer' was not declared in this scope 148 | if(gtk_text_buffer_get_selection_bounds(gtkTextBuffer, &start, &end)) { | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:148:59: error: 'start' was not declared in this scope; did you mean 'stat'? 148 | if(gtk_text_buffer_get_selection_bounds(gtkTextBuffer, &start, &end)) { | ^~~~~ | stat ../hiro/core/../gtk/widget/source-edit.cpp:148:67: error: 'end' was not declared in this scope; did you mean 'std::end'? 148 | if(gtk_text_buffer_get_selection_bounds(gtkTextBuffer, &start, &end)) { | ^~~ | std::end /opt/tools/gcc13/include/c++/13.3.0/initializer_list:99:5: note: 'std::end' declared here 99 | end(initializer_list<_Tp> __ils) noexcept | ^~~ ../hiro/core/../gtk/widget/source-edit.cpp:148:6: error: 'gtk_text_buffer_get_selection_bounds' was not declared in this scope 148 | if(gtk_text_buffer_get_selection_bounds(gtkTextBuffer, &start, &end)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/source-edit.cpp:151:18: error: 'gtk_text_iter_get_offset' was not declared in this scope 151 | int origin = gtk_text_iter_get_offset(&start); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:52: ../hiro/core/../gtk/widget/tab-frame.cpp: At global scope: ../hiro/core/../gtk/widget/tab-frame.cpp:5:29: error: 'GtkNotebook' was not declared in this scope 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:5:42: error: 'notebook' was not declared in this scope 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:5:52: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/tab-frame.cpp:5:63: error: 'page' was not declared in this scope 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:5:69: error: expected primary-expression before 'unsigned' 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:5:97: error: expected primary-expression before '*' token 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:5:99: error: 'p' was not declared in this scope 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:5:100: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:5:102: error: expected ',' or ';' before '->' token 5 | static auto TabFrame_change(GtkNotebook* notebook, GtkWidget* page, unsigned position, pTabFrame* p) -> void { | ^~ ../hiro/core/../gtk/widget/tab-frame.cpp:13:28: error: 'GtkButton' was not declared in this scope; did you mean 'wButton'? 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^~~~~~~~~ | wButton ../hiro/core/../gtk/widget/tab-frame.cpp:13:39: error: 'button' was not declared in this scope; did you mean 'Button'? 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^~~~~~ | Button ../hiro/core/../gtk/widget/tab-frame.cpp:13:56: error: expected primary-expression before '*' token 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:13:58: error: 'p' was not declared in this scope 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:13:59: error: expression list treated as compound expression in initializer [-fpermissive] 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:13:61: error: expected ',' or ';' before '->' token 13 | static auto TabFrame_close(GtkButton* button, pTabFrame* p) -> void { | ^~ ../hiro/core/../gtk/widget/tab-frame.cpp:26:27: error: 'GtkNotebook' was not declared in this scope 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:26:40: error: 'notebook' was not declared in this scope 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:26:50: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/tab-frame.cpp:26:61: error: 'page' was not declared in this scope 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:26:67: error: expected primary-expression before 'unsigned' 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:26:93: error: expected primary-expression before '*' token 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:26:95: error: 'p' was not declared in this scope 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:26:96: error: expression list treated as compound expression in initializer [-fpermissive] 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp:26:98: error: expected ',' or ';' before '->' token 26 | static auto TabFrame_move(GtkNotebook* notebook, GtkWidget* page, unsigned moveTo, pTabFrame* p) -> void { | ^~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'virtual void hiro::pTabFrame::construct()': ../hiro/core/../gtk/widget/tab-frame.cpp:46:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 46 | gtkWidget = gtk_notebook_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:46:15: error: 'gtk_notebook_new' was not declared in this scope 46 | gtkWidget = gtk_notebook_new(); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:47:32: error: 'GTK_NOTEBOOK' was not declared in this scope 47 | gtk_notebook_set_show_border(GTK_NOTEBOOK(gtkWidget), false); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:47:3: error: 'gtk_notebook_set_show_border' was not declared in this scope 47 | gtk_notebook_set_show_border(GTK_NOTEBOOK(gtkWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:48:53: error: 'GTK_POS_TOP' was not declared in this scope 48 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), GTK_POS_TOP); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:48:3: error: 'gtk_notebook_set_tab_pos' was not declared in this scope 48 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), GTK_POS_TOP); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:54:20: error: 'G_OBJECT' was not declared in this scope 54 | g_signal_connect(G_OBJECT(gtkWidget), "page-reordered", G_CALLBACK(TabFrame_move), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:54:59: error: 'G_CALLBACK' was not declared in this scope 54 | g_signal_connect(G_OBJECT(gtkWidget), "page-reordered", G_CALLBACK(TabFrame_move), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:54:87: error: 'gpointer' was not declared in this scope 54 | g_signal_connect(G_OBJECT(gtkWidget), "page-reordered", G_CALLBACK(TabFrame_move), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:54:3: error: 'g_signal_connect' was not declared in this scope 54 | g_signal_connect(G_OBJECT(gtkWidget), "page-reordered", G_CALLBACK(TabFrame_move), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:55:95: error: expected ')' before 'this' 55 | g_signal_connect(G_OBJECT(gtkWidget), "switch-page", G_CALLBACK(TabFrame_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'virtual void hiro::pTabFrame::destruct()': ../hiro/core/../gtk/widget/tab-frame.cpp:61:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 61 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:61:3: error: 'gtk_widget_destroy' was not declared in this scope 61 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: At global scope: ../hiro/core/../gtk/widget/tab-frame.cpp:74:47: error: 'GtkWidget' does not name a type; did you mean 'pWidget'? 74 | auto pTabFrame::container(mWidget& widget) -> GtkWidget* { | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:74:56: error: expected initializer before '*' token 74 | auto pTabFrame::container(mWidget& widget) -> GtkWidget* { | ^ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::remove(hiro::sTabFrameItem)': ../hiro/core/../gtk/widget/tab-frame.cpp:98:67: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 98 | if(item->offset() == gtk_notebook_get_current_page(GTK_NOTEBOOK(gtkWidget))) { | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:98:54: error: 'GTK_NOTEBOOK' was not declared in this scope 98 | if(item->offset() == gtk_notebook_get_current_page(GTK_NOTEBOOK(gtkWidget))) { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:98:24: error: 'gtk_notebook_get_current_page' was not declared in this scope 98 | if(item->offset() == gtk_notebook_get_current_page(GTK_NOTEBOOK(gtkWidget))) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:109:41: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 109 | gtk_notebook_remove_page(GTK_NOTEBOOK(gtkWidget), item->offset()); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:109:28: error: 'GTK_NOTEBOOK' was not declared in this scope 109 | gtk_notebook_remove_page(GTK_NOTEBOOK(gtkWidget), item->offset()); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:109:3: error: 'gtk_notebook_remove_page' was not declared in this scope 109 | gtk_notebook_remove_page(GTK_NOTEBOOK(gtkWidget), item->offset()); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:111:23: error: 'gtk_notebook_get_current_page' was not declared in this scope 111 | unsigned position = gtk_notebook_get_current_page(GTK_NOTEBOOK(gtkWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'virtual void hiro::pTabFrame::setFont(const hiro::Font&)': ../hiro/core/../gtk/widget/tab-frame.cpp:119:28: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 119 | pFont::setFont(tabs[n].title, font); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::setItemMovable(unsigned int, bool)': ../hiro/core/../gtk/widget/tab-frame.cpp:153:49: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 153 | gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(gtkWidget), tabs[position].child, movable); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:153:36: error: 'GTK_NOTEBOOK' was not declared in this scope 153 | gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(gtkWidget), tabs[position].child, movable); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:153:76: error: 'struct hiro::pTabFrame::Tab' has no member named 'child' 153 | gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(gtkWidget), tabs[position].child, movable); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:153:3: error: 'gtk_notebook_set_tab_reorderable' was not declared in this scope 153 | gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(gtkWidget), tabs[position].child, movable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::setItemSelected(unsigned int)': ../hiro/core/../gtk/widget/tab-frame.cpp:159:46: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 159 | gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkWidget), position); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:159:33: error: 'GTK_NOTEBOOK' was not declared in this scope 159 | gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkWidget), position); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:159:3: error: 'gtk_notebook_set_current_page' was not declared in this scope 159 | gtk_notebook_set_current_page(GTK_NOTEBOOK(gtkWidget), position); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::setNavigation(hiro::Navigation)': ../hiro/core/../gtk/widget/tab-frame.cpp:172:3: error: 'GtkPositionType' was not declared in this scope 172 | GtkPositionType type; | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:174:25: error: 'type' was not declared in this scope; did you mean 'wctype'? 174 | case Navigation::Top: type = GTK_POS_TOP; break; | ^~~~ | wctype ../hiro/core/../gtk/widget/tab-frame.cpp:174:32: error: 'GTK_POS_TOP' was not declared in this scope 174 | case Navigation::Top: type = GTK_POS_TOP; break; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:175:35: error: 'GTK_POS_BOTTOM' was not declared in this scope 175 | case Navigation::Bottom: type = GTK_POS_BOTTOM; break; | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:176:33: error: 'GTK_POS_LEFT' was not declared in this scope 176 | case Navigation::Left: type = GTK_POS_LEFT; break; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:177:34: error: 'GTK_POS_RIGHT' was not declared in this scope 177 | case Navigation::Right: type = GTK_POS_RIGHT; break; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:179:41: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 179 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), type); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:179:28: error: 'GTK_NOTEBOOK' was not declared in this scope 179 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), type); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:179:53: error: 'type' was not declared in this scope; did you mean 'wctype'? 179 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), type); | ^~~~ | wctype ../hiro/core/../gtk/widget/tab-frame.cpp:179:3: error: 'gtk_notebook_set_tab_pos' was not declared in this scope 179 | gtk_notebook_set_tab_pos(GTK_NOTEBOOK(gtkWidget), type); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::_append()': ../hiro/core/../gtk/widget/tab-frame.cpp:188:7: error: 'struct hiro::pTabFrame::Tab' has no member named 'child' 188 | tab.child = gtk_fixed_new(); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:188:15: error: 'gtk_fixed_new' was not declared in this scope 188 | tab.child = gtk_fixed_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:192:7: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 192 | tab.container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:192:31: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 192 | tab.container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:192:19: error: 'gtk_box_new' was not declared in this scope 192 | tab.container = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:194:7: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 194 | tab.image = gtk_image_new(); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:194:15: error: 'gtk_image_new' was not declared in this scope 194 | tab.image = gtk_image_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:195:7: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 195 | tab.title = gtk_label_new(""); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:195:15: error: 'gtk_label_new' was not declared in this scope 195 | tab.title = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:196:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 196 | gtk_misc_set_alignment(GTK_MISC(tab.title), 0.0, 0.5); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:196:26: error: 'GTK_MISC' was not declared in this scope 196 | gtk_misc_set_alignment(GTK_MISC(tab.title), 0.0, 0.5); | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:196:3: error: 'gtk_misc_set_alignment' was not declared in this scope 196 | gtk_misc_set_alignment(GTK_MISC(tab.title), 0.0, 0.5); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:197:7: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 197 | tab.close = gtk_button_new_with_label("\u00d7"); //Unicode multiplication sign (looks better than 'X') | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:197:15: error: 'gtk_button_new_with_label' was not declared in this scope 197 | tab.close = gtk_button_new_with_label("\u00d7"); //Unicode multiplication sign (looks better than 'X') | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:198:48: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 198 | gtk_button_set_focus_on_click(GTK_BUTTON(tab.close), false); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:198:33: error: 'GTK_BUTTON' was not declared in this scope 198 | gtk_button_set_focus_on_click(GTK_BUTTON(tab.close), false); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:198:3: error: 'gtk_button_set_focus_on_click' was not declared in this scope 198 | gtk_button_set_focus_on_click(GTK_BUTTON(tab.close), false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:199:40: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 199 | gtk_button_set_relief(GTK_BUTTON(tab.close), GTK_RELIEF_NONE); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:199:48: error: 'GTK_RELIEF_NONE' was not declared in this scope 199 | gtk_button_set_relief(GTK_BUTTON(tab.close), GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:199:3: error: 'gtk_button_set_relief' was not declared in this scope 199 | gtk_button_set_relief(GTK_BUTTON(tab.close), GTK_RELIEF_NONE); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:200:22: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 200 | pFont::setFont(tab.close, Font("sans", 9).setBold()); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:201:16: error: 'CreateColor' was not declared in this scope 201 | auto color = CreateColor({255, 0, 0}); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:202:54: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 202 | gtk_widget_modify_fg(gtk_bin_get_child(GTK_BIN(tab.close)), GTK_STATE_PRELIGHT, &color); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:202:42: error: 'GTK_BIN' was not declared in this scope 202 | gtk_widget_modify_fg(gtk_bin_get_child(GTK_BIN(tab.close)), GTK_STATE_PRELIGHT, &color); | ^~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:202:24: error: 'gtk_bin_get_child' was not declared in this scope 202 | gtk_widget_modify_fg(gtk_bin_get_child(GTK_BIN(tab.close)), GTK_STATE_PRELIGHT, &color); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:202:63: error: 'GTK_STATE_PRELIGHT' was not declared in this scope 202 | gtk_widget_modify_fg(gtk_bin_get_child(GTK_BIN(tab.close)), GTK_STATE_PRELIGHT, &color); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:202:3: error: 'gtk_widget_modify_fg' was not declared in this scope 202 | gtk_widget_modify_fg(gtk_bin_get_child(GTK_BIN(tab.close)), GTK_STATE_PRELIGHT, &color); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:205:23: error: 'struct hiro::pTabFrame::Tab' has no member named 'child' 205 | gtk_widget_show(tab.child); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:205:3: error: 'gtk_widget_show' was not declared in this scope 205 | gtk_widget_show(tab.child); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:206:23: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 206 | gtk_widget_show(tab.container); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:207:23: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 207 | gtk_widget_show(tab.image); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:208:23: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 208 | gtk_widget_show(tab.title); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:209:23: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 209 | gtk_widget_show(tab.close); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:210:34: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 210 | gtk_box_pack_start(GTK_BOX(tab.container), tab.image, false, false, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:210:22: error: 'GTK_BOX' was not declared in this scope 210 | gtk_box_pack_start(GTK_BOX(tab.container), tab.image, false, false, 0); | ^~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:210:50: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 210 | gtk_box_pack_start(GTK_BOX(tab.container), tab.image, false, false, 0); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:210:3: error: 'gtk_box_pack_start' was not declared in this scope 210 | gtk_box_pack_start(GTK_BOX(tab.container), tab.image, false, false, 0); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:211:34: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 211 | gtk_box_pack_start(GTK_BOX(tab.container), tab.title, true, true, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:211:50: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 211 | gtk_box_pack_start(GTK_BOX(tab.container), tab.title, true, true, 0); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:212:34: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 212 | gtk_box_pack_start(GTK_BOX(tab.container), tab.close, false, false, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:212:50: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 212 | gtk_box_pack_start(GTK_BOX(tab.container), tab.close, false, false, 0); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:214:33: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 214 | g_signal_connect(G_OBJECT(tab.close), "clicked", G_CALLBACK(TabFrame_close), (gpointer)this); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:214:20: error: 'G_OBJECT' was not declared in this scope 214 | g_signal_connect(G_OBJECT(tab.close), "clicked", G_CALLBACK(TabFrame_close), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:214:52: error: 'G_CALLBACK' was not declared in this scope 214 | g_signal_connect(G_OBJECT(tab.close), "clicked", G_CALLBACK(TabFrame_close), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:214:81: error: 'gpointer' was not declared in this scope 214 | g_signal_connect(G_OBJECT(tab.close), "clicked", G_CALLBACK(TabFrame_close), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:214:3: error: 'g_signal_connect' was not declared in this scope 214 | g_signal_connect(G_OBJECT(tab.close), "clicked", G_CALLBACK(TabFrame_close), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:215:41: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 215 | gtk_notebook_append_page(GTK_NOTEBOOK(gtkWidget), tab.child, tab.container); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tab-frame.cpp:215:28: error: 'GTK_NOTEBOOK' was not declared in this scope 215 | gtk_notebook_append_page(GTK_NOTEBOOK(gtkWidget), tab.child, tab.container); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:215:57: error: 'struct hiro::pTabFrame::Tab' has no member named 'child' 215 | gtk_notebook_append_page(GTK_NOTEBOOK(gtkWidget), tab.child, tab.container); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:215:68: error: 'struct hiro::pTabFrame::Tab' has no member named 'container' 215 | gtk_notebook_append_page(GTK_NOTEBOOK(gtkWidget), tab.child, tab.container); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:215:3: error: 'gtk_notebook_append_page' was not declared in this scope 215 | gtk_notebook_append_page(GTK_NOTEBOOK(gtkWidget), tab.child, tab.container); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'void hiro::pTabFrame::_synchronizeTab(unsigned int)': ../hiro/core/../gtk/widget/tab-frame.cpp:232:30: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 232 | gtk_widget_set_visible(tab.close, item->closable()); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:232:3: error: 'gtk_widget_set_visible' was not declared in this scope 232 | gtk_widget_set_visible(tab.close, item->closable()); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:235:19: error: 'CreatePixbuf' was not declared in this scope 235 | auto pixbuf = CreatePixbuf(icon, true); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:236:45: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 236 | gtk_image_set_from_pixbuf(GTK_IMAGE(tab.image), pixbuf); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:236:31: error: 'GTK_IMAGE' was not declared in this scope 236 | gtk_image_set_from_pixbuf(GTK_IMAGE(tab.image), pixbuf); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:236:5: error: 'gtk_image_set_from_pixbuf' was not declared in this scope 236 | gtk_image_set_from_pixbuf(GTK_IMAGE(tab.image), pixbuf); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:238:35: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 238 | gtk_image_clear(GTK_IMAGE(tab.image)); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:238:21: error: 'GTK_IMAGE' was not declared in this scope 238 | gtk_image_clear(GTK_IMAGE(tab.image)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:238:5: error: 'gtk_image_clear' was not declared in this scope 238 | gtk_image_clear(GTK_IMAGE(tab.image)); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:245:36: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 245 | gtk_label_set_text(GTK_LABEL(tab.title), text); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:245:22: error: 'GTK_LABEL' was not declared in this scope 245 | gtk_label_set_text(GTK_LABEL(tab.title), text); | ^~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:245:3: error: 'gtk_label_set_text' was not declared in this scope 245 | gtk_label_set_text(GTK_LABEL(tab.title), text); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'unsigned int hiro::pTabFrame::_tabHeight()': ../hiro/core/../gtk/widget/tab-frame.cpp:253:5: error: 'GtkAllocation' was not declared in this scope 253 | GtkAllocation imageAllocation, titleAllocation, closeAllocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:254:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 254 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:254:47: error: 'imageAllocation' was not declared in this scope 254 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:254:5: error: 'gtk_widget_get_allocation' was not declared in this scope 254 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:255:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 255 | gtk_widget_get_allocation(tabs[n].title, &titleAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:255:47: error: 'titleAllocation' was not declared in this scope 255 | gtk_widget_get_allocation(tabs[n].title, &titleAllocation); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:256:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 256 | gtk_widget_get_allocation(tabs[n].close, &closeAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:256:47: error: 'closeAllocation' was not declared in this scope 256 | gtk_widget_get_allocation(tabs[n].close, &closeAllocation); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp: In member function 'unsigned int hiro::pTabFrame::_tabWidth()': ../hiro/core/../gtk/widget/tab-frame.cpp:270:5: error: 'GtkAllocation' was not declared in this scope 270 | GtkAllocation imageAllocation, titleAllocation, closeAllocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:271:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'image' 271 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:271:47: error: 'imageAllocation' was not declared in this scope 271 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:271:5: error: 'gtk_widget_get_allocation' was not declared in this scope 271 | gtk_widget_get_allocation(tabs[n].image, &imageAllocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:272:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'title' 272 | gtk_widget_get_allocation(tabs[n].title, &titleAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:272:47: error: 'titleAllocation' was not declared in this scope 272 | gtk_widget_get_allocation(tabs[n].title, &titleAllocation); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:273:39: error: 'struct hiro::pTabFrame::Tab' has no member named 'close' 273 | gtk_widget_get_allocation(tabs[n].close, &closeAllocation); | ^~~~~ ../hiro/core/../gtk/widget/tab-frame.cpp:273:47: error: 'closeAllocation' was not declared in this scope 273 | gtk_widget_get_allocation(tabs[n].close, &closeAllocation); | ^~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:54: ../hiro/core/../gtk/widget/table-view.cpp: At global scope: ../hiro/core/../gtk/widget/table-view.cpp:5:32: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:5:44: error: expected primary-expression before ',' token 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:5:46: error: 'GtkTreePath' was not declared in this scope 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:5:59: error: 'gtkRow' was not declared in this scope 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:5:67: error: 'GtkTreeViewColumn' was not declared in this scope 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:5:86: error: 'gtkColumn' was not declared in this scope 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:5:107: error: expected primary-expression before '*' token 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:5:109: error: 'p' was not declared in this scope 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:5:110: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:5:112: error: expected ',' or ';' before '->' token 5 | static auto TableView_activate(GtkTreeView*, GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn, pTableView* p) -> void { return p->_doActivate(gtkRow, gtkColumn); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:6:35: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:6:48: error: 'treeView' was not declared in this scope; did you mean 'TreeView'? 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^~~~~~~~ | TreeView ../hiro/core/../gtk/widget/table-view.cpp:6:58: error: 'GdkEventButton' was not declared in this scope 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:6:74: error: 'event' was not declared in this scope; did you mean 'servent'? 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^~~~~ | servent ../hiro/core/../gtk/widget/table-view.cpp:6:91: error: expected primary-expression before '*' token 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:6:93: error: 'p' was not declared in this scope 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:6:94: error: expression list treated as compound expression in initializer [-fpermissive] 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:6:96: error: expected ',' or ';' before '->' token 6 | static auto TableView_buttonEvent(GtkTreeView* treeView, GdkEventButton* event, pTableView* p) -> signed { return p->_doEvent(event); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:7:30: error: 'GtkTreeSelection' was not declared in this scope 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:7:47: error: expected primary-expression before ',' token 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:7:59: error: expected primary-expression before '*' token 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:7:61: error: 'p' was not declared in this scope 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:7:62: error: expression list treated as compound expression in initializer [-fpermissive] 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:7:64: error: expected ',' or ';' before '->' token 7 | static auto TableView_change(GtkTreeSelection*, pTableView* p) -> void { return p->_doChange(); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:8:28: error: 'GtkCellRendererText' was not declared in this scope 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:8:49: error: 'renderer' was not declared in this scope 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:8:59: error: expected primary-expression before 'const' 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:8:77: error: expected primary-expression before 'const' 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:8:105: error: expected primary-expression before '*' token 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:8:107: error: 'p' was not declared in this scope 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:8:108: error: expression list treated as compound expression in initializer [-fpermissive] 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:8:110: error: expected ',' or ';' before '->' token 8 | static auto TableView_edit(GtkCellRendererText* renderer, const char* path, const char* text, pTableView* p) -> void { return p->_doEdit(renderer, path, text); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:9:38: error: 'GtkTreeViewColumn' was not declared in this scope 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:9:57: error: 'column' was not declared in this scope 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:9:75: error: expected primary-expression before '*' token 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:9:77: error: 'p' was not declared in this scope 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:9:78: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:9:80: error: expected ',' or ';' before '->' token 9 | static auto TableView_headerActivate(GtkTreeViewColumn* column, pTableView* p) -> void { return p->_doHeaderActivate(column); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:10:37: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:10:50: error: 'treeView' was not declared in this scope; did you mean 'TreeView'? 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^~~~~~~~ | TreeView ../hiro/core/../gtk/widget/table-view.cpp:10:60: error: 'GdkEventKey' was not declared in this scope 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:10:73: error: 'event' was not declared in this scope; did you mean 'servent'? 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^~~~~ | servent ../hiro/core/../gtk/widget/table-view.cpp:10:90: error: expected primary-expression before '*' token 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:10:92: error: 'p' was not declared in this scope 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:10:93: error: expression list treated as compound expression in initializer [-fpermissive] 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:10:95: error: expected ',' or ';' before '->' token 10 | static auto TableView_keyPressEvent(GtkTreeView* treeView, GdkEventKey* event, pTableView* p) -> bool { return p->_doKeyPress(event); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:11:38: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/table-view.cpp:11:48: error: expected primary-expression before ',' token 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:11:50: error: 'GdkEvent' was not declared in this scope 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:11:59: error: expected primary-expression before ',' token 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:11:71: error: expected primary-expression before '*' token 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:11:73: error: 'p' was not declared in this scope 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:11:74: error: expression list treated as compound expression in initializer [-fpermissive] 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:11:76: error: expected ',' or ';' before '->' token 11 | static auto TableView_mouseMoveEvent(GtkWidget*, GdkEvent*, pTableView* p) -> signed { return p->_doMouseMove(); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:12:29: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:12:41: error: expected primary-expression before ',' token 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:12:53: error: expected primary-expression before '*' token 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:12:55: error: 'p' was not declared in this scope 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:12:56: error: expression list treated as compound expression in initializer [-fpermissive] 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:12:58: error: expected ',' or ';' before '->' token 12 | static auto TableView_popup(GtkTreeView*, pTableView* p) -> void { return p->_doContext(); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:14:32: error: 'GtkTreeViewColumn' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:51: error: 'column' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:59: error: 'GtkCellRenderer' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:76: error: 'renderer' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:86: error: 'GtkTreeModel' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:100: error: 'model' was not declared in this scope; did you mean 'modfl'? 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~ | modfl ../hiro/core/../gtk/widget/table-view.cpp:14:107: error: 'GtkTreeIter' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:120: error: 'iter' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:14:136: error: expected primary-expression before '*' token 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:14:138: error: 'p' was not declared in this scope 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:14:139: error: expression list treated as compound expression in initializer [-fpermissive] 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:14:141: error: expected ',' or ';' before '->' token 14 | static auto TableView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTableView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:15:30: error: 'GtkCellRendererToggle' was not declared in this scope 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:15:53: error: 'toggle' was not declared in this scope 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:15:61: error: expected primary-expression before 'const' 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:15:89: error: expected primary-expression before '*' token 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:15:91: error: 'p' was not declared in this scope 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:15:92: error: expression list treated as compound expression in initializer [-fpermissive] 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^ ../hiro/core/../gtk/widget/table-view.cpp:15:94: error: expected ',' or ';' before '->' token 15 | static auto TableView_toggle(GtkCellRendererToggle* toggle, const char* path, pTableView* p) -> void { return p->_doToggle(toggle, path); } | ^~ ../hiro/core/../gtk/widget/table-view.cpp:17:31: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:17:43: error: expected primary-expression before ',' token 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:17:55: error: expected primary-expression before '*' token 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:17:57: error: 'p' was not declared in this scope 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:17:58: error: expression list treated as compound expression in initializer [-fpermissive] 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:17:60: error: expected ',' or ';' before '->' token 17 | static auto TableView_realize(GtkTreeView*, pTableView* p) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'virtual void hiro::pTableView::construct()': ../hiro/core/../gtk/widget/table-view.cpp:27:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 27 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/table-view.cpp:27:15: error: 'gtk_scrolled_window_new' was not declared in this scope 27 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:28:3: error: 'gtkScrolledWindow' was not declared in this scope 28 | gtkScrolledWindow = GTK_SCROLLED_WINDOW(gtkWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:28:23: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 28 | gtkScrolledWindow = GTK_SCROLLED_WINDOW(gtkWidget); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:29:53: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 29 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:29:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 29 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:30:58: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 30 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:30:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 30 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:32:3: error: 'gtkWidgetChild' was not declared in this scope 32 | gtkWidgetChild = gtk_tree_view_new(); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:32:20: error: 'gtk_tree_view_new' was not declared in this scope 32 | gtkWidgetChild = gtk_tree_view_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:33:3: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 33 | gtkTreeView = GTK_TREE_VIEW(gtkWidgetChild); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:33:17: error: 'GTK_TREE_VIEW' was not declared in this scope 33 | gtkTreeView = GTK_TREE_VIEW(gtkWidgetChild); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:34:3: error: 'gtkTreeSelection' was not declared in this scope 34 | gtkTreeSelection = gtk_tree_view_get_selection(gtkTreeView); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:34:22: error: 'gtk_tree_view_get_selection' was not declared in this scope 34 | gtkTreeSelection = gtk_tree_view_get_selection(gtkTreeView); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:35:21: error: 'GTK_CONTAINER' was not declared in this scope 35 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkWidgetChild); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:35:3: error: 'gtk_container_add' was not declared in this scope 35 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkWidgetChild); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:36:3: error: 'gtk_tree_view_set_rubber_banding' was not declared in this scope 36 | gtk_tree_view_set_rubber_banding(gtkTreeView, true); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:38:3: error: 'gtk_widget_show' was not declared in this scope 38 | gtk_widget_show(gtkWidgetChild); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:48:20: error: 'G_OBJECT' was not declared in this scope 48 | g_signal_connect(G_OBJECT(gtkTreeView), "button-press-event", G_CALLBACK(TableView_buttonEvent), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:48:65: error: 'G_CALLBACK' was not declared in this scope 48 | g_signal_connect(G_OBJECT(gtkTreeView), "button-press-event", G_CALLBACK(TableView_buttonEvent), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:48:101: error: 'gpointer' was not declared in this scope 48 | g_signal_connect(G_OBJECT(gtkTreeView), "button-press-event", G_CALLBACK(TableView_buttonEvent), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:48:3: error: 'g_signal_connect' was not declared in this scope 48 | g_signal_connect(G_OBJECT(gtkTreeView), "button-press-event", G_CALLBACK(TableView_buttonEvent), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:49:112: error: expected ')' before 'this' 49 | g_signal_connect(G_OBJECT(gtkTreeView), "button-release-event", G_CALLBACK(TableView_buttonEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:50:109: error: expected ')' before 'this' 50 | g_signal_connect(G_OBJECT(gtkTreeView), "key-press-event", G_CALLBACK(TableView_keyPressEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:51:114: error: expected ')' before 'this' 51 | g_signal_connect(G_OBJECT(gtkTreeView), "motion-notify-event", G_CALLBACK(TableView_mouseMoveEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:52:96: error: expected ')' before 'this' 52 | g_signal_connect(G_OBJECT(gtkTreeView), "popup-menu", G_CALLBACK(TableView_popup), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:53:95: error: expected ')' before 'this' 53 | g_signal_connect(G_OBJECT(gtkTreeView), "realize", G_CALLBACK(TableView_realize), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:54:102: error: expected ')' before 'this' 54 | g_signal_connect(G_OBJECT(gtkTreeView), "row-activated", G_CALLBACK(TableView_activate), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:55:99: error: expected ')' before 'this' 55 | g_signal_connect(G_OBJECT(gtkTreeSelection), "changed", G_CALLBACK(TableView_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/table-view.cpp:58:3: error: 'gtkEntry' was not declared in this scope 58 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:58:15: error: 'GtkEntry' was not declared in this scope 58 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:58:24: error: expected primary-expression before ')' token 58 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^ ../hiro/core/../gtk/widget/table-view.cpp:59:3: error: 'gtk_tree_view_set_search_entry' was not declared in this scope 59 | gtk_tree_view_set_search_entry(gtkTreeView, gtkEntry); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'virtual void hiro::pTableView::destruct()': ../hiro/core/../gtk/widget/table-view.cpp:65:33: error: 'gtkEntry' was not declared in this scope 65 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:65:22: error: 'GTK_WIDGET' was not declared in this scope 65 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:65:3: error: 'gtk_widget_destroy' was not declared in this scope 65 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:66:22: error: 'gtkWidgetChild' was not declared in this scope 66 | gtk_widget_destroy(gtkWidgetChild); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:67:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 67 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/table-view.cpp: In member function 'virtual bool hiro::pTableView::focused() const': ../hiro/core/../gtk/widget/table-view.cpp:78:42: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 78 | return gtk_widget_has_focus(GTK_WIDGET(gtkTreeView)); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:78:31: error: 'GTK_WIDGET' was not declared in this scope 78 | return gtk_widget_has_focus(GTK_WIDGET(gtkTreeView)); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:78:10: error: 'gtk_widget_has_focus' was not declared in this scope 78 | return gtk_widget_has_focus(GTK_WIDGET(gtkTreeView)); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::resizeColumns()': ../hiro/core/../gtk/widget/table-view.cpp:102:58: error: 'gtkScrolledWindow' was not declared in this scope 102 | if(auto scrollBar = gtk_scrolled_window_get_vscrollbar(gtkScrolledWindow)) { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:102:23: error: 'gtk_scrolled_window_get_vscrollbar' was not declared in this scope 102 | if(auto scrollBar = gtk_scrolled_window_get_vscrollbar(gtkScrolledWindow)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:103:5: error: 'GtkAllocation' was not declared in this scope 103 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:104:43: error: 'allocation' was not declared in this scope 104 | gtk_widget_get_allocation(scrollBar, &allocation); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:104:5: error: 'gtk_widget_get_allocation' was not declared in this scope 104 | gtk_widget_get_allocation(scrollBar, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:105:8: error: 'gtk_widget_get_visible' was not declared in this scope 105 | if(gtk_widget_get_visible(scrollBar)) maximumWidth -= allocation.width; | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:117:52: error: 'struct hiro::pTableViewColumn' has no member named 'gtkColumn' 117 | gtk_tree_view_column_set_fixed_width(column->gtkColumn, width); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:117:7: error: 'gtk_tree_view_column_set_fixed_width' was not declared in this scope 117 | gtk_tree_view_column_set_fixed_width(column->gtkColumn, width); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/table-view.cpp:127:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 127 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/table-view.cpp:128:26: error: 'gtkWidgetChild' was not declared in this scope 128 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:128:42: error: 'GTK_STATE_NORMAL' was not declared in this scope 128 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:128:69: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 128 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/table-view.cpp:128:3: error: 'gtk_widget_modify_base' was not declared in this scope 128 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setBatchable(bool)': ../hiro/core/../gtk/widget/table-view.cpp:133:31: error: 'gtkTreeSelection' was not declared in this scope 133 | gtk_tree_selection_set_mode(gtkTreeSelection, batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:133:61: error: 'GTK_SELECTION_MULTIPLE' was not declared in this scope 133 | gtk_tree_selection_set_mode(gtkTreeSelection, batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:133:86: error: 'GTK_SELECTION_SINGLE' was not declared in this scope 133 | gtk_tree_selection_set_mode(gtkTreeSelection, batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:133:3: error: 'gtk_tree_selection_set_mode' was not declared in this scope 133 | gtk_tree_selection_set_mode(gtkTreeSelection, batchable ? GTK_SELECTION_MULTIPLE : GTK_SELECTION_SINGLE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setBordered(bool)': ../hiro/core/../gtk/widget/table-view.cpp:137:32: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 137 | gtk_tree_view_set_grid_lines(gtkTreeView, bordered ? GTK_TREE_VIEW_GRID_LINES_BOTH : GTK_TREE_VIEW_GRID_LINES_NONE); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:137:56: error: 'GTK_TREE_VIEW_GRID_LINES_BOTH' was not declared in this scope 137 | gtk_tree_view_set_grid_lines(gtkTreeView, bordered ? GTK_TREE_VIEW_GRID_LINES_BOTH : GTK_TREE_VIEW_GRID_LINES_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:137:88: error: 'GTK_TREE_VIEW_GRID_LINES_NONE' was not declared in this scope 137 | gtk_tree_view_set_grid_lines(gtkTreeView, bordered ? GTK_TREE_VIEW_GRID_LINES_BOTH : GTK_TREE_VIEW_GRID_LINES_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:137:3: error: 'gtk_tree_view_set_grid_lines' was not declared in this scope 137 | gtk_tree_view_set_grid_lines(gtkTreeView, bordered ? GTK_TREE_VIEW_GRID_LINES_BOTH : GTK_TREE_VIEW_GRID_LINES_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'virtual void hiro::pTableView::setFocused()': ../hiro/core/../gtk/widget/table-view.cpp:146:53: error: 'gtkTreeSelection' was not declared in this scope 146 | bool selected = gtk_tree_selection_get_selected(gtkTreeSelection, nullptr, nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:146:21: error: 'gtk_tree_selection_get_selected' was not declared in this scope 146 | bool selected = gtk_tree_selection_get_selected(gtkTreeSelection, nullptr, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:147:27: error: 'gtkWidgetChild' was not declared in this scope 147 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:147:5: error: 'gtk_widget_grab_focus' was not declared in this scope 147 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:148:19: error: 'gtk_tree_selection_unselect_all' was not declared in this scope 148 | if(!selected) gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:150:27: error: 'gtkWidgetChild' was not declared in this scope 150 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:150:5: error: 'gtk_widget_grab_focus' was not declared in this scope 150 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/table-view.cpp:159:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 159 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/table-view.cpp:160:26: error: 'gtkWidgetChild' was not declared in this scope 160 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:160:42: error: 'GTK_STATE_NORMAL' was not declared in this scope 160 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:160:69: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 160 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/table-view.cpp:160:3: error: 'gtk_widget_modify_text' was not declared in this scope 160 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setHeadered(bool)': ../hiro/core/../gtk/widget/table-view.cpp:175:37: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 175 | gtk_tree_view_set_headers_visible(gtkTreeView, headered); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:175:3: error: 'gtk_tree_view_set_headers_visible' was not declared in this scope 175 | gtk_tree_view_set_headers_visible(gtkTreeView, headered); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::setSortable(bool)': ../hiro/core/../gtk/widget/table-view.cpp:180:77: error: 'struct hiro::pTableViewColumn' has no member named 'gtkColumn' 180 | if(auto self = column->self()) gtk_tree_view_column_set_clickable(self->gtkColumn, sortable); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:180:36: error: 'gtk_tree_view_column_set_clickable' was not declared in this scope 180 | if(auto self = column->self()) gtk_tree_view_column_set_clickable(self->gtkColumn, sortable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::_createModel()': ../hiro/core/../gtk/widget/table-view.cpp:221:27: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 221 | gtk_tree_view_set_model(gtkTreeView, nullptr); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:221:3: error: 'gtk_tree_view_set_model' was not declared in this scope 221 | gtk_tree_view_set_model(gtkTreeView, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:222:3: error: 'gtkListStore' was not declared in this scope 222 | gtkListStore = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:223:3: error: 'gtkTreeModel' was not declared in this scope 223 | gtkTreeModel = nullptr; | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:225:10: error: 'GType' was not declared in this scope 225 | vector<GType> types; | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:225:15: error: template argument 1 is invalid 225 | vector<GType> types; | ^ ../hiro/core/../gtk/widget/table-view.cpp:228:17: error: 'struct hiro::pTableViewColumn' has no member named 'gtkColumn' 228 | if(!self->gtkColumn) continue; //may not have been created yet; or recently destroyed | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:229:13: error: request for member 'append' in 'types', which is of non-class type 'int' 229 | types.append(G_TYPE_BOOLEAN); | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:229:20: error: 'G_TYPE_BOOLEAN' was not declared in this scope 229 | types.append(G_TYPE_BOOLEAN); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:230:13: error: request for member 'append' in 'types', which is of non-class type 'int' 230 | types.append(GDK_TYPE_PIXBUF); | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:230:20: error: 'GDK_TYPE_PIXBUF' was not declared in this scope 230 | types.append(GDK_TYPE_PIXBUF); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:231:13: error: request for member 'append' in 'types', which is of non-class type 'int' 231 | types.append(G_TYPE_STRING); | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:231:20: error: 'G_TYPE_STRING' was not declared in this scope 231 | types.append(G_TYPE_STRING); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:236:44: error: request for member 'size' in 'types', which is of non-class type 'int' 236 | gtkListStore = gtk_list_store_newv(types.size(), types.data()); | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:236:58: error: request for member 'data' in 'types', which is of non-class type 'int' 236 | gtkListStore = gtk_list_store_newv(types.size(), types.data()); | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:236:18: error: 'gtk_list_store_newv' was not declared in this scope 236 | gtkListStore = gtk_list_store_newv(types.size(), types.data()); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:237:18: error: 'GTK_TREE_MODEL' was not declared in this scope 237 | gtkTreeModel = GTK_TREE_MODEL(gtkListStore); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: At global scope: ../hiro/core/../gtk/widget/table-view.cpp:241:6: error: 'auto hiro::pTableView::_doActivate' is not a static data member of 'struct hiro::pTableView' 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:241:30: error: 'GtkTreePath' was not declared in this scope 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:241:43: error: 'gtkRow' was not declared in this scope 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:241:51: error: 'GtkTreeViewColumn' was not declared in this scope 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:241:70: error: 'gtkColumn' was not declared in this scope 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:241:79: error: expression list treated as compound expression in initializer [-fpermissive] 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:241:81: error: expected ',' or ';' before '->' token 241 | auto pTableView::_doActivate(GtkTreePath* gtkRow, GtkTreeViewColumn* gtkColumn) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp:271:6: error: 'auto hiro::pTableView::_doDataFunc' is not a static data member of 'struct hiro::pTableView' 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:30: error: 'GtkTreeViewColumn' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:49: error: 'gtkColumn' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:60: error: 'GtkCellRenderer' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:77: error: 'renderer' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:87: error: 'GtkTreeIter' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:100: error: 'iter' was not declared in this scope 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:271:104: error: expression list treated as compound expression in initializer [-fpermissive] 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:271:106: error: expected ',' or ';' before '->' token 271 | auto pTableView::_doDataFunc(GtkTreeViewColumn* gtkColumn, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp:319:6: error: 'auto hiro::pTableView::_doEdit' is not a static data member of 'struct hiro::pTableView' 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:319:26: error: 'GtkCellRendererText' was not declared in this scope 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:319:47: error: 'gtkCellRendererText' was not declared in this scope 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:319:68: error: expected primary-expression before 'const' 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:319:86: error: expected primary-expression before 'const' 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:319:102: error: expression list treated as compound expression in initializer [-fpermissive] 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:319:104: error: expected ',' or ';' before '->' token 319 | auto pTableView::_doEdit(GtkCellRendererText* gtkCellRendererText, const char* path, const char* text) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp:338:6: error: 'auto hiro::pTableView::_doEvent' is not a static data member of 'struct hiro::pTableView' 338 | auto pTableView::_doEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:338:27: error: 'GdkEventButton' was not declared in this scope 338 | auto pTableView::_doEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:338:43: error: 'gdkEvent' was not declared in this scope; did you mean '_doEvent'? 338 | auto pTableView::_doEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~ | _doEvent ../hiro/core/../gtk/widget/table-view.cpp:338:53: error: expected ',' or ';' before '->' token 338 | auto pTableView::_doEvent(GdkEventButton* gdkEvent) -> signed { | ^~ ../hiro/core/../gtk/widget/table-view.cpp:377:6: error: 'auto hiro::pTableView::_doHeaderActivate' is not a static data member of 'struct hiro::pTableView' 377 | auto pTableView::_doHeaderActivate(GtkTreeViewColumn* gtkTreeViewColumn) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:377:36: error: 'GtkTreeViewColumn' was not declared in this scope 377 | auto pTableView::_doHeaderActivate(GtkTreeViewColumn* gtkTreeViewColumn) -> void { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:377:55: error: 'gtkTreeViewColumn' was not declared in this scope 377 | auto pTableView::_doHeaderActivate(GtkTreeViewColumn* gtkTreeViewColumn) -> void { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:377:74: error: expected ',' or ';' before '->' token 377 | auto pTableView::_doHeaderActivate(GtkTreeViewColumn* gtkTreeViewColumn) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp:388:6: error: 'auto hiro::pTableView::_doKeyPress' is not a static data member of 'struct hiro::pTableView' 388 | auto pTableView::_doKeyPress(GdkEventKey* event) -> bool { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:388:30: error: 'GdkEventKey' was not declared in this scope 388 | auto pTableView::_doKeyPress(GdkEventKey* event) -> bool { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:388:43: error: 'event' was not declared in this scope; did you mean 'servent'? 388 | auto pTableView::_doKeyPress(GdkEventKey* event) -> bool { | ^~~~~ | servent ../hiro/core/../gtk/widget/table-view.cpp:388:50: error: expected ',' or ';' before '->' token 388 | auto pTableView::_doKeyPress(GdkEventKey* event) -> bool { | ^~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'int hiro::pTableView::_doMouseMove()': ../hiro/core/../gtk/widget/table-view.cpp:413:45: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 413 | if(gtk_tree_view_is_rubber_banding_active(gtkTreeView)) { | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:413:6: error: 'gtk_tree_view_is_rubber_banding_active' was not declared in this scope 413 | if(gtk_tree_view_is_rubber_banding_active(gtkTreeView)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: At global scope: ../hiro/core/../gtk/widget/table-view.cpp:419:6: error: 'auto hiro::pTableView::_doToggle' is not a static data member of 'struct hiro::pTableView' 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:419:28: error: 'GtkCellRendererToggle' was not declared in this scope 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:419:51: error: 'gtkCellRendererToggle' was not declared in this scope 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:419:74: error: expected primary-expression before 'const' 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:419:90: error: expression list treated as compound expression in initializer [-fpermissive] 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^ ../hiro/core/../gtk/widget/table-view.cpp:419:92: error: expected ',' or ';' before '->' token 419 | auto pTableView::_doToggle(GtkCellRendererToggle* gtkCellRendererToggle, const char* path) -> void { | ^~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::_updateRulesHint()': ../hiro/core/../gtk/widget/table-view.cpp:444:32: error: 'gtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 444 | gtk_tree_view_set_rules_hint(gtkTreeView, rules); | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/table-view.cpp:444:3: error: 'gtk_tree_view_set_rules_hint' was not declared in this scope 444 | gtk_tree_view_set_rules_hint(gtkTreeView, rules); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp: In member function 'void hiro::pTableView::_updateSelected()': ../hiro/core/../gtk/widget/table-view.cpp:454:37: error: 'gtkTreeSelection' was not declared in this scope 454 | gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:454:5: error: 'gtk_tree_selection_unselect_all' was not declared in this scope 454 | gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:460:3: error: 'GList' was not declared in this scope 460 | GList* list = gtk_tree_selection_get_selected_rows(gtkTreeSelection, >kTreeModel); | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:460:10: error: 'list' was not declared in this scope 460 | GList* list = gtk_tree_selection_get_selected_rows(gtkTreeSelection, >kTreeModel); | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:460:54: error: 'gtkTreeSelection' was not declared in this scope 460 | GList* list = gtk_tree_selection_get_selected_rows(gtkTreeSelection, >kTreeModel); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:460:73: error: 'gtkTreeModel' was not declared in this scope 460 | GList* list = gtk_tree_selection_get_selected_rows(gtkTreeSelection, >kTreeModel); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:460:17: error: 'gtk_tree_selection_get_selected_rows' was not declared in this scope 460 | GList* list = gtk_tree_selection_get_selected_rows(gtkTreeSelection, >kTreeModel); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:461:10: error: 'p' was not declared in this scope 461 | GList* p = list; | ^ ../hiro/core/../gtk/widget/table-view.cpp:464:5: error: 'GtkTreeIter' was not declared in this scope 464 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:465:47: error: 'iter' was not declared in this scope 465 | if(gtk_tree_model_get_iter(gtkTreeModel, &iter, (GtkTreePath*)p->data)) { | ^~~~ ../hiro/core/../gtk/widget/table-view.cpp:465:54: error: 'GtkTreePath' was not declared in this scope 465 | if(gtk_tree_model_get_iter(gtkTreeModel, &iter, (GtkTreePath*)p->data)) { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:465:66: error: expected primary-expression before ')' token 465 | if(gtk_tree_model_get_iter(gtkTreeModel, &iter, (GtkTreePath*)p->data)) { | ^ ../hiro/core/../gtk/widget/table-view.cpp:465:8: error: 'gtk_tree_model_get_iter' was not declared in this scope 465 | if(gtk_tree_model_get_iter(gtkTreeModel, &iter, (GtkTreePath*)p->data)) { | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:466:24: error: 'gtk_tree_model_get_string_from_iter' was not declared in this scope 466 | char* pathname = gtk_tree_model_get_string_from_iter(gtkTreeModel, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:468:7: error: 'g_free' was not declared in this scope; did you mean 'free'? 468 | g_free(pathname); | ^~~~~~ | free ../hiro/core/../gtk/widget/table-view.cpp:474:25: error: 'GFunc' was not declared in this scope 474 | g_list_foreach(list, (GFunc)gtk_tree_path_free, nullptr); | ^~~~~ ../hiro/core/../gtk/widget/table-view.cpp:474:3: error: 'g_list_foreach' was not declared in this scope 474 | g_list_foreach(list, (GFunc)gtk_tree_path_free, nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view.cpp:475:3: error: 'g_list_free' was not declared in this scope 475 | g_list_free(list); | ^~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:55: ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'virtual void hiro::pTableViewColumn::construct()': ../hiro/core/../gtk/widget/table-view-column.cpp:13:5: error: 'gtkHeader' was not declared in this scope 13 | gtkHeader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:13:29: error: 'GTK_ORIENTATION_HORIZONTAL' was not declared in this scope 13 | gtkHeader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:13:17: error: 'gtk_box_new' was not declared in this scope 13 | gtkHeader = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:16:5: error: 'gtkHeaderIcon' was not declared in this scope 16 | gtkHeaderIcon = gtk_image_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:16:21: error: 'gtk_image_new' was not declared in this scope 16 | gtkHeaderIcon = gtk_image_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:17:24: error: 'GTK_BOX' was not declared in this scope 17 | gtk_box_pack_start(GTK_BOX(gtkHeader), gtkHeaderIcon, false, false, 0); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:17:5: error: 'gtk_box_pack_start' was not declared in this scope 17 | gtk_box_pack_start(GTK_BOX(gtkHeader), gtkHeaderIcon, false, false, 0); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:19:5: error: 'gtkHeaderText' was not declared in this scope 19 | gtkHeaderText = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:19:21: error: 'gtk_label_new' was not declared in this scope 19 | gtkHeaderText = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:22:5: error: 'gtkHeaderSort' was not declared in this scope 22 | gtkHeaderSort = gtk_label_new(""); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:25:5: error: 'gtkColumn' was not declared in this scope 25 | gtkColumn = gtk_tree_view_column_new(); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:25:17: error: 'gtk_tree_view_column_new' was not declared in this scope 25 | gtkColumn = gtk_tree_view_column_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:26:48: error: 'GTK_TREE_VIEW_COLUMN_FIXED' was not declared in this scope 26 | gtk_tree_view_column_set_sizing(gtkColumn, GTK_TREE_VIEW_COLUMN_FIXED); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:26:5: error: 'gtk_tree_view_column_set_sizing' was not declared in this scope 26 | gtk_tree_view_column_set_sizing(gtkColumn, GTK_TREE_VIEW_COLUMN_FIXED); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:27:5: error: 'gtk_tree_view_column_set_title' was not declared in this scope 27 | gtk_tree_view_column_set_title(gtkColumn, ""); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:28:5: error: 'gtk_tree_view_column_set_widget' was not declared in this scope 28 | gtk_tree_view_column_set_widget(gtkColumn, gtkHeader); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:30:5: error: 'gtkCellToggle' was not declared in this scope 30 | gtkCellToggle = gtk_cell_renderer_toggle_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:30:21: error: 'gtk_cell_renderer_toggle_new' was not declared in this scope 30 | gtkCellToggle = gtk_cell_renderer_toggle_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:31:5: error: 'gtk_tree_view_column_pack_start' was not declared in this scope 31 | gtk_tree_view_column_pack_start(gtkColumn, gtkCellToggle, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:32:5: error: 'gtk_tree_view_column_set_attributes' was not declared in this scope 32 | gtk_tree_view_column_set_attributes(gtkColumn, gtkCellToggle, "active", 3 * offset + 0, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:33:56: error: 'GTK_CELL_RENDERER' was not declared in this scope 33 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:33:91: error: 'GtkTreeCellDataFunc' was not declared in this scope 33 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:33:132: error: 'gpointer' was not declared in this scope 33 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:33:5: error: 'gtk_tree_view_column_set_cell_data_func' was not declared in this scope 33 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:35:5: error: 'gtkCellIcon' was not declared in this scope 35 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:35:19: error: 'gtk_cell_renderer_pixbuf_new' was not declared in this scope 35 | gtkCellIcon = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:38:109: error: expected ')' before 'TableView_dataFunc' 38 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellIcon), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ~ ^~~~~~~~~~~~~~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:38:139: error: expected ')' before 'handle' 38 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellIcon), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ~ ^~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:40:5: error: 'gtkCellText' was not declared in this scope 40 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:40:19: error: 'gtk_cell_renderer_text_new' was not declared in this scope 40 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:43:109: error: expected ')' before 'TableView_dataFunc' 43 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellText), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ~ ^~~~~~~~~~~~~~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:43:139: error: expected ')' before 'handle' 43 | gtk_tree_view_column_set_cell_data_func(gtkColumn, GTK_CELL_RENDERER(gtkCellText), (GtkTreeCellDataFunc)TableView_dataFunc, (gpointer)handle, nullptr); | ~ ^~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:45:22: error: 'G_OBJECT' was not declared in this scope 45 | g_signal_connect(G_OBJECT(gtkColumn), "clicked", G_CALLBACK(TableView_headerActivate), (gpointer)handle); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:45:54: error: 'G_CALLBACK' was not declared in this scope 45 | g_signal_connect(G_OBJECT(gtkColumn), "clicked", G_CALLBACK(TableView_headerActivate), (gpointer)handle); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:45:102: error: expected ')' before 'handle' 45 | g_signal_connect(G_OBJECT(gtkColumn), "clicked", G_CALLBACK(TableView_headerActivate), (gpointer)handle); | ~ ^~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:45:5: error: 'g_signal_connect' was not declared in this scope 45 | g_signal_connect(G_OBJECT(gtkColumn), "clicked", G_CALLBACK(TableView_headerActivate), (gpointer)handle); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:46:93: error: expected ')' before 'handle' 46 | g_signal_connect(G_OBJECT(gtkCellText), "edited", G_CALLBACK(TableView_edit), (gpointer)handle); | ~ ^~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:47:98: error: expected ')' before 'handle' 47 | g_signal_connect(G_OBJECT(gtkCellToggle), "toggled", G_CALLBACK(TableView_toggle), (gpointer)handle); | ~ ^~~~~~ | ) ../hiro/core/../gtk/widget/table-view-column.cpp:49:41: error: 'struct hiro::pTableView' has no member named 'gtkTreeView' 49 | gtk_tree_view_append_column(parent->gtkTreeView, gtkColumn); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:49:5: error: 'gtk_tree_view_append_column' was not declared in this scope 49 | gtk_tree_view_append_column(parent->gtkTreeView, gtkColumn); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:50:5: error: 'gtk_widget_show_all' was not declared in this scope 50 | gtk_widget_show_all(gtkHeader); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:53:5: error: 'gtk_tree_view_column_set_clickable' was not declared in this scope 53 | gtk_tree_view_column_set_clickable(gtkColumn, parent->state().sortable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'virtual void hiro::pTableViewColumn::destruct()': ../hiro/core/../gtk/widget/table-view-column.cpp:67:41: error: 'struct hiro::pTableView' has no member named 'gtkTreeView' 67 | gtk_tree_view_remove_column(parent->gtkTreeView, gtkColumn); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:67:54: error: 'gtkColumn' was not declared in this scope 67 | gtk_tree_view_remove_column(parent->gtkTreeView, gtkColumn); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:67:5: error: 'gtk_tree_view_remove_column' was not declared in this scope 67 | gtk_tree_view_remove_column(parent->gtkTreeView, gtkColumn); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setActive()': ../hiro/core/../gtk/widget/table-view-column.cpp:75:45: error: 'struct hiro::pTableView' has no member named 'gtkTreeView' 75 | gtk_tree_view_set_search_column(parent->gtkTreeView, 3 * self().offset() + 2); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:75:5: error: 'gtk_tree_view_set_search_column' was not declared in this scope 75 | gtk_tree_view_set_search_column(parent->gtkTreeView, 3 * self().offset() + 2); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setEditable(bool)': ../hiro/core/../gtk/widget/table-view-column.cpp:86:25: error: 'gtkCellText' was not declared in this scope 86 | g_object_set(G_OBJECT(gtkCellText), "editable", editable ? true : false, nullptr); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:86:16: error: 'G_OBJECT' was not declared in this scope 86 | g_object_set(G_OBJECT(gtkCellText), "editable", editable ? true : false, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:86:3: error: 'g_object_set' was not declared in this scope 86 | g_object_set(G_OBJECT(gtkCellText), "editable", editable ? true : false, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/table-view-column.cpp:103:41: error: 'gtkHeaderIcon' was not declared in this scope 103 | gtk_image_set_from_pixbuf(GTK_IMAGE(gtkHeaderIcon), CreatePixbuf(icon)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:103:31: error: 'GTK_IMAGE' was not declared in this scope 103 | gtk_image_set_from_pixbuf(GTK_IMAGE(gtkHeaderIcon), CreatePixbuf(icon)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:103:57: error: 'CreatePixbuf' was not declared in this scope 103 | gtk_image_set_from_pixbuf(GTK_IMAGE(gtkHeaderIcon), CreatePixbuf(icon)); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:103:5: error: 'gtk_image_set_from_pixbuf' was not declared in this scope 103 | gtk_image_set_from_pixbuf(GTK_IMAGE(gtkHeaderIcon), CreatePixbuf(icon)); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:105:31: error: 'gtkHeaderIcon' was not declared in this scope 105 | gtk_image_clear(GTK_IMAGE(gtkHeaderIcon)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:105:21: error: 'GTK_IMAGE' was not declared in this scope 105 | gtk_image_clear(GTK_IMAGE(gtkHeaderIcon)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:105:5: error: 'gtk_image_clear' was not declared in this scope 105 | gtk_image_clear(GTK_IMAGE(gtkHeaderIcon)); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setResizable(bool)': ../hiro/core/../gtk/widget/table-view-column.cpp:110:38: error: 'gtkColumn' was not declared in this scope 110 | gtk_tree_view_column_set_resizable(gtkColumn, resizable); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:110:3: error: 'gtk_tree_view_column_set_resizable' was not declared in this scope 110 | gtk_tree_view_column_set_resizable(gtkColumn, resizable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setSorting(hiro::Sort)': ../hiro/core/../gtk/widget/table-view-column.cpp:117:32: error: 'gtkHeaderSort' was not declared in this scope 117 | gtk_label_set_text(GTK_LABEL(gtkHeaderSort), text); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:117:22: error: 'GTK_LABEL' was not declared in this scope 117 | gtk_label_set_text(GTK_LABEL(gtkHeaderSort), text); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:117:3: error: 'gtk_label_set_text' was not declared in this scope 117 | gtk_label_set_text(GTK_LABEL(gtkHeaderSort), text); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'void hiro::pTableViewColumn::setText(const nall::string&)': ../hiro/core/../gtk/widget/table-view-column.cpp:121:32: error: 'gtkHeaderText' was not declared in this scope 121 | gtk_label_set_text(GTK_LABEL(gtkHeaderText), text); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:121:22: error: 'GTK_LABEL' was not declared in this scope 121 | gtk_label_set_text(GTK_LABEL(gtkHeaderText), text); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:121:3: error: 'gtk_label_set_text' was not declared in this scope 121 | gtk_label_set_text(GTK_LABEL(gtkHeaderText), text); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp: In member function 'virtual void hiro::pTableViewColumn::setVisible(bool)': ../hiro/core/../gtk/widget/table-view-column.cpp:125:36: error: 'gtkColumn' was not declared in this scope 125 | gtk_tree_view_column_set_visible(gtkColumn, visible); | ^~~~~~~~~ ../hiro/core/../gtk/widget/table-view-column.cpp:125:3: error: 'gtk_tree_view_column_set_visible' was not declared in this scope 125 | gtk_tree_view_column_set_visible(gtkColumn, visible); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:56: ../hiro/core/../gtk/widget/table-view-item.cpp: In member function 'virtual void hiro::pTableViewItem::construct()': ../hiro/core/../gtk/widget/table-view-item.cpp:8:35: error: 'struct hiro::pTableView' has no member named 'gtkListStore' 8 | gtk_list_store_append(parent->gtkListStore, >kIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:8:50: error: 'gtkIter' was not declared in this scope 8 | gtk_list_store_append(parent->gtkListStore, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:8:5: error: 'gtk_list_store_append' was not declared in this scope 8 | gtk_list_store_append(parent->gtkListStore, >kIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp: In member function 'virtual void hiro::pTableViewItem::destruct()': ../hiro/core/../gtk/widget/table-view-item.cpp:16:35: error: 'struct hiro::pTableView' has no member named 'gtkListStore' 16 | gtk_list_store_remove(parent->gtkListStore, >kIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:16:50: error: 'gtkIter' was not declared in this scope 16 | gtk_list_store_remove(parent->gtkListStore, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:16:5: error: 'gtk_list_store_remove' was not declared in this scope 16 | gtk_list_store_remove(parent->gtkListStore, >kIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp: In member function 'virtual void hiro::pTableViewItem::setFocused()': ../hiro/core/../gtk/widget/table-view-item.cpp:39:5: error: 'GtkTreePath' was not declared in this scope 39 | GtkTreePath* path = gtk_tree_path_new_from_string(string{self().offset()}); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:39:18: error: 'path' was not declared in this scope; did you mean 'nall::Location::path'? 39 | GtkTreePath* path = gtk_tree_path_new_from_string(string{self().offset()}); | ^~~~ | nall::Location::path ../nall/location.hpp:9:13: note: 'nall::Location::path' declared here 9 | inline auto path(string_view self) -> string { | ^~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:39:25: error: 'gtk_tree_path_new_from_string' was not declared in this scope 39 | GtkTreePath* path = gtk_tree_path_new_from_string(string{self().offset()}); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:40:38: error: 'struct hiro::pTableView' has no member named 'gtkTreeView' 40 | gtk_tree_view_set_cursor(parent->gtkTreeView, path, nullptr, false); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:40:5: error: 'gtk_tree_view_set_cursor' was not declared in this scope 40 | gtk_tree_view_set_cursor(parent->gtkTreeView, path, nullptr, false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:41:42: error: 'struct hiro::pTableView' has no member named 'gtkTreeView' 41 | gtk_tree_view_scroll_to_cell(parent->gtkTreeView, path, nullptr, true, 0.5, 0.0); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:41:5: error: 'gtk_tree_view_scroll_to_cell' was not declared in this scope 41 | gtk_tree_view_scroll_to_cell(parent->gtkTreeView, path, nullptr, true, 0.5, 0.0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:42:5: error: 'gtk_tree_path_free' was not declared in this scope 42 | gtk_tree_path_free(path); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp: In member function 'void hiro::pTableViewItem::_setState()': ../hiro/core/../gtk/widget/table-view-item.cpp:64:46: error: 'struct hiro::pTableView' has no member named 'gtkTreeSelection' 64 | gtk_tree_selection_select_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:64:65: error: 'gtkIter' was not declared in this scope 64 | gtk_tree_selection_select_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:64:7: error: 'gtk_tree_selection_select_iter' was not declared in this scope 64 | gtk_tree_selection_select_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:66:48: error: 'struct hiro::pTableView' has no member named 'gtkTreeSelection' 66 | gtk_tree_selection_unselect_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:66:67: error: 'gtkIter' was not declared in this scope 66 | gtk_tree_selection_unselect_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-item.cpp:66:7: error: 'gtk_tree_selection_unselect_iter' was not declared in this scope 66 | gtk_tree_selection_unselect_iter(parent->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:57: ../hiro/core/../gtk/widget/table-view-cell.cpp: In member function 'void hiro::pTableViewCell::_setState()': ../hiro/core/../gtk/widget/table-view-cell.cpp:53:41: error: 'struct hiro::pTableView' has no member named 'gtkListStore' 53 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 0, state().checked, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:53:64: error: 'struct hiro::pTableViewItem' has no member named 'gtkIter' 53 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 0, state().checked, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:53:9: error: 'gtk_list_store_set' was not declared in this scope 53 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 0, state().checked, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:54:41: error: 'struct hiro::pTableView' has no member named 'gtkListStore' 54 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 1, CreatePixbuf(state().icon), -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:54:64: error: 'struct hiro::pTableViewItem' has no member named 'gtkIter' 54 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 1, CreatePixbuf(state().icon), -1); | ^~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:54:98: error: 'CreatePixbuf' was not declared in this scope 54 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 1, CreatePixbuf(state().icon), -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:55:41: error: 'struct hiro::pTableView' has no member named 'gtkListStore' 55 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 2, state().text.data(), -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/table-view-cell.cpp:55:64: error: 'struct hiro::pTableViewItem' has no member named 'gtkIter' 55 | gtk_list_store_set(grandparent->gtkListStore, &parent->gtkIter, 3 * self().offset() + 2, state().text.data(), -1); | ^~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:58: ../hiro/core/../gtk/widget/text-edit.cpp: At global scope: ../hiro/core/../gtk/widget/text-edit.cpp:5:29: error: 'GtkTextBuffer' was not declared in this scope 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:5:44: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:5:65: error: expected primary-expression before '*' token 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:5:67: error: 'p' was not declared in this scope 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:5:68: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:5:70: error: expected ',' or ';' before '->' token 5 | static auto TextEdit_change(GtkTextBuffer* textBuffer, pTextEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/text-edit.cpp:9:27: error: 'GObject' was not declared in this scope; did you mean 'wObject'? 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^~~~~~~ | wObject ../hiro/core/../gtk/widget/text-edit.cpp:9:36: error: 'object' was not declared in this scope; did you mean 'Object'? 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^~~~~~ | Object ../hiro/core/../gtk/widget/text-edit.cpp:9:44: error: 'GParamSpec' was not declared in this scope 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:9:56: error: 'spec' was not declared in this scope 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^~~~ ../hiro/core/../gtk/widget/text-edit.cpp:9:71: error: expected primary-expression before '*' token 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:9:73: error: 'p' was not declared in this scope 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:9:74: error: expression list treated as compound expression in initializer [-fpermissive] 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^ ../hiro/core/../gtk/widget/text-edit.cpp:9:76: error: expected ',' or ';' before '->' token 9 | static auto TextEdit_move(GObject* object, GParamSpec* spec, pTextEdit* p) -> void { | ^~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'virtual void hiro::pTextEdit::construct()': ../hiro/core/../gtk/widget/text-edit.cpp:15:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 15 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/text-edit.cpp:15:15: error: 'gtk_scrolled_window_new' was not declared in this scope 15 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:16:34: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 16 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:16:66: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 16 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:16:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 16 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:17:71: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 17 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:17:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 17 | gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(gtkWidget), GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:19:3: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 19 | subWidget = gtk_text_view_new(); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:19:15: error: 'gtk_text_view_new' was not declared in this scope 19 | subWidget = gtk_text_view_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:20:3: error: 'gtk_widget_show' was not declared in this scope 20 | gtk_widget_show(subWidget); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:21:31: error: 'GTK_TEXT_VIEW' was not declared in this scope 21 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_WORD_CHAR); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:21:57: error: 'GTK_WRAP_WORD_CHAR' was not declared in this scope 21 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_WORD_CHAR); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:21:3: error: 'gtk_text_view_set_wrap_mode' was not declared in this scope 21 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), GTK_WRAP_WORD_CHAR); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:22:21: error: 'GTK_CONTAINER' was not declared in this scope 22 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:22:3: error: 'gtk_container_add' was not declared in this scope 22 | gtk_container_add(GTK_CONTAINER(gtkWidget), subWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:24:3: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 24 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:24:16: error: 'gtk_text_view_get_buffer' was not declared in this scope 24 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:33:20: error: 'G_OBJECT' was not declared in this scope 33 | g_signal_connect(G_OBJECT(textBuffer), "changed", G_CALLBACK(TextEdit_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:33:53: error: 'G_CALLBACK' was not declared in this scope 33 | g_signal_connect(G_OBJECT(textBuffer), "changed", G_CALLBACK(TextEdit_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:33:83: error: 'gpointer' was not declared in this scope 33 | g_signal_connect(G_OBJECT(textBuffer), "changed", G_CALLBACK(TextEdit_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:33:3: error: 'g_signal_connect' was not declared in this scope 33 | g_signal_connect(G_OBJECT(textBuffer), "changed", G_CALLBACK(TextEdit_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:34:106: error: expected ')' before 'this' 34 | g_signal_connect(G_OBJECT(textBuffer), "notify::cursor-position", G_CALLBACK(TextEdit_move), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'virtual void hiro::pTextEdit::destruct()': ../hiro/core/../gtk/widget/text-edit.cpp:41:22: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 41 | gtk_widget_destroy(subWidget); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:41:3: error: 'gtk_widget_destroy' was not declared in this scope 41 | gtk_widget_destroy(subWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:42:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 42 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'virtual bool hiro::pTextEdit::focused() const': ../hiro/core/../gtk/widget/text-edit.cpp:46:31: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 46 | return gtk_widget_has_focus(subWidget); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:46:10: error: 'gtk_widget_has_focus' was not declared in this scope 46 | return gtk_widget_has_focus(subWidget); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/text-edit.cpp:50:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 50 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/text-edit.cpp:51:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:51:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:51:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/text-edit.cpp:51:3: error: 'gtk_widget_modify_base' was not declared in this scope 51 | gtk_widget_modify_base(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setEditable(bool)': ../hiro/core/../gtk/widget/text-edit.cpp:55:44: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 55 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), editable); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:55:30: error: 'GTK_TEXT_VIEW' was not declared in this scope 55 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), editable); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:55:3: error: 'gtk_text_view_set_editable' was not declared in this scope 55 | gtk_text_view_set_editable(GTK_TEXT_VIEW(subWidget), editable); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'virtual void hiro::pTextEdit::setFocused()': ../hiro/core/../gtk/widget/text-edit.cpp:59:25: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 59 | gtk_widget_grab_focus(subWidget); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:59:3: error: 'gtk_widget_grab_focus' was not declared in this scope 59 | gtk_widget_grab_focus(subWidget); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/text-edit.cpp:63:3: error: 'GdkColor' was not declared in this scope; did you mean 'Color'? 63 | GdkColor gdkColor = CreateColor(color); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/text-edit.cpp:64:26: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 64 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:64:37: error: 'GTK_STATE_NORMAL' was not declared in this scope 64 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:64:64: error: 'gdkColor' was not declared in this scope; did you mean 'Color'? 64 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~ | Color ../hiro/core/../gtk/widget/text-edit.cpp:64:3: error: 'gtk_widget_modify_text' was not declared in this scope 64 | gtk_widget_modify_text(subWidget, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setText(const nall::string&)': ../hiro/core/../gtk/widget/text-edit.cpp:69:3: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 69 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:69:55: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 69 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:69:41: error: 'GTK_TEXT_VIEW' was not declared in this scope 69 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:69:16: error: 'gtk_text_view_get_buffer' was not declared in this scope 69 | textBuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(subWidget)); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:70:3: error: 'gtk_text_buffer_set_text' was not declared in this scope 70 | gtk_text_buffer_set_text(textBuffer, text, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setTextCursor(hiro::TextCursor)': ../hiro/core/../gtk/widget/text-edit.cpp:76:3: error: 'GtkTextIter' was not declared in this scope 76 | GtkTextIter offset, length; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:77:32: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 77 | gtk_text_buffer_get_end_iter(textBuffer, &offset); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:77:45: error: 'offset' was not declared in this scope; did you mean 'offset_t'? 77 | gtk_text_buffer_get_end_iter(textBuffer, &offset); | ^~~~~~ | offset_t ../hiro/core/../gtk/widget/text-edit.cpp:77:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 77 | gtk_text_buffer_get_end_iter(textBuffer, &offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:78:45: error: 'length' was not declared in this scope; did you mean 'len_t'? 78 | gtk_text_buffer_get_end_iter(textBuffer, &length); | ^~~~~~ | len_t ../hiro/core/../gtk/widget/text-edit.cpp:79:16: error: 'gtk_text_iter_get_offset' was not declared in this scope 79 | signed end = gtk_text_iter_get_offset(&offset); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:80:3: error: 'gtk_text_iter_set_offset' was not declared in this scope 80 | gtk_text_iter_set_offset(&offset, max(0, min(end, cursor.offset()))); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:82:3: error: 'gtk_text_buffer_select_range' was not declared in this scope 82 | gtk_text_buffer_select_range(textBuffer, &offset, &length); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:83:15: error: 'gtk_text_buffer_get_mark' was not declared in this scope 83 | auto mark = gtk_text_buffer_get_mark(textBuffer, "insert"); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:84:52: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 84 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:84:38: error: 'GTK_TEXT_VIEW' was not declared in this scope 84 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:84:3: error: 'gtk_text_view_scroll_mark_onscreen' was not declared in this scope 84 | gtk_text_view_scroll_mark_onscreen(GTK_TEXT_VIEW(subWidget), mark); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'void hiro::pTextEdit::setWordWrap(bool)': ../hiro/core/../gtk/widget/text-edit.cpp:89:45: error: 'subWidget' was not declared in this scope; did you mean 'sWidget'? 89 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~ | sWidget ../hiro/core/../gtk/widget/text-edit.cpp:89:31: error: 'GTK_TEXT_VIEW' was not declared in this scope 89 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:89:68: error: 'GTK_WRAP_WORD_CHAR' was not declared in this scope 89 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:89:89: error: 'GTK_WRAP_NONE' was not declared in this scope 89 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:89:3: error: 'gtk_text_view_set_wrap_mode' was not declared in this scope 89 | gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(subWidget), wordWrap ? GTK_WRAP_WORD_CHAR : GTK_WRAP_NONE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:90:54: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 90 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/text-edit.cpp:90:34: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 90 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:91:16: error: 'GTK_POLICY_NEVER' was not declared in this scope 91 | wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:91:35: error: 'GTK_POLICY_ALWAYS' was not declared in this scope 91 | wordWrap ? GTK_POLICY_NEVER : GTK_POLICY_ALWAYS, | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:90:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 90 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(gtkWidget), | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'nall::string hiro::pTextEdit::text() const': ../hiro/core/../gtk/widget/text-edit.cpp:96:3: error: 'GtkTextIter' was not declared in this scope 96 | GtkTextIter start, end; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:97:34: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 97 | gtk_text_buffer_get_start_iter(textBuffer, &start); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:97:47: error: 'start' was not declared in this scope; did you mean 'stat'? 97 | gtk_text_buffer_get_start_iter(textBuffer, &start); | ^~~~~ | stat ../hiro/core/../gtk/widget/text-edit.cpp:97:3: error: 'gtk_text_buffer_get_start_iter' was not declared in this scope 97 | gtk_text_buffer_get_start_iter(textBuffer, &start); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:98:45: error: 'end' was not declared in this scope; did you mean 'std::end'? 98 | gtk_text_buffer_get_end_iter(textBuffer, &end); | ^~~ | std::end /opt/tools/gcc13/include/c++/13.3.0/initializer_list:99:5: note: 'std::end' declared here 99 | end(initializer_list<_Tp> __ils) noexcept | ^~~ ../hiro/core/../gtk/widget/text-edit.cpp:98:3: error: 'gtk_text_buffer_get_end_iter' was not declared in this scope 98 | gtk_text_buffer_get_end_iter(textBuffer, &end); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:99:16: error: 'gtk_text_buffer_get_text' was not declared in this scope 99 | char* temp = gtk_text_buffer_get_text(textBuffer, &start, &end, true); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:101:3: error: 'g_free' was not declared in this scope; did you mean 'free'? 101 | g_free(temp); | ^~~~~~ | free ../hiro/core/../gtk/widget/text-edit.cpp: In member function 'hiro::TextCursor hiro::pTextEdit::textCursor() const': ../hiro/core/../gtk/widget/text-edit.cpp:108:25: error: 'textBuffer' was not declared in this scope; did you mean 'setbuffer'? 108 | g_object_get(G_OBJECT(textBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~~~ | setbuffer ../hiro/core/../gtk/widget/text-edit.cpp:108:16: error: 'G_OBJECT' was not declared in this scope 108 | g_object_get(G_OBJECT(textBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:108:3: error: 'g_object_get' was not declared in this scope 108 | g_object_get(G_OBJECT(textBuffer), "cursor-position", &offset, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:110:3: error: 'GtkTextIter' was not declared in this scope 110 | GtkTextIter start, end; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:111:56: error: 'start' was not declared in this scope; did you mean 'stat'? 111 | if(gtk_text_buffer_get_selection_bounds(textBuffer, &start, &end)) { | ^~~~~ | stat ../hiro/core/../gtk/widget/text-edit.cpp:111:64: error: 'end' was not declared in this scope; did you mean 'std::end'? 111 | if(gtk_text_buffer_get_selection_bounds(textBuffer, &start, &end)) { | ^~~ | std::end /opt/tools/gcc13/include/c++/13.3.0/initializer_list:99:5: note: 'std::end' declared here 99 | end(initializer_list<_Tp> __ils) noexcept | ^~~ ../hiro/core/../gtk/widget/text-edit.cpp:111:6: error: 'gtk_text_buffer_get_selection_bounds' was not declared in this scope 111 | if(gtk_text_buffer_get_selection_bounds(textBuffer, &start, &end)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/text-edit.cpp:114:18: error: 'gtk_text_iter_get_offset' was not declared in this scope 114 | int origin = gtk_text_iter_get_offset(&start); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:59: ../hiro/core/../gtk/widget/tree-view.cpp: At global scope: ../hiro/core/../gtk/widget/tree-view.cpp:10:31: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/tree-view.cpp:10:43: error: expected primary-expression before ',' token 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:10:45: error: 'GtkTreePath' was not declared in this scope 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:10:58: error: 'gtkPath' was not declared in this scope 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:10:67: error: 'GtkTreeViewColumn' was not declared in this scope 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:10:85: error: expected primary-expression before ',' token 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:10:96: error: expected primary-expression before '*' token 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:10:98: error: 'p' was not declared in this scope 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:10:99: error: expression list treated as compound expression in initializer [-fpermissive] 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:10:101: error: expected ',' or ';' before '->' token 10 | static auto TreeView_activate(GtkTreeView*, GtkTreePath* gtkPath, GtkTreeViewColumn*, pTreeView* p) -> void { p->_activatePath(gtkPath); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:11:34: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/tree-view.cpp:11:46: error: expected primary-expression before ',' token 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:11:48: error: 'GdkEventButton' was not declared in this scope 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:11:64: error: 'gdkEvent' was not declared in this scope 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:11:83: error: expected primary-expression before '*' token 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:11:85: error: 'p' was not declared in this scope 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:11:86: error: expression list treated as compound expression in initializer [-fpermissive] 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:11:88: error: expected ',' or ';' before '->' token 11 | static auto TreeView_buttonEvent(GtkTreeView*, GdkEventButton* gdkEvent, pTreeView* p) -> signed { return p->_buttonEvent(gdkEvent); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:12:29: error: 'GtkTreeSelection' was not declared in this scope 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:12:46: error: expected primary-expression before ',' token 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:12:57: error: expected primary-expression before '*' token 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:12:59: error: 'p' was not declared in this scope 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:12:60: error: expression list treated as compound expression in initializer [-fpermissive] 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:12:62: error: expected ',' or ';' before '->' token 12 | static auto TreeView_change(GtkTreeSelection*, pTreeView* p) -> void { p->_updateSelected(); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:13:30: error: 'GtkTreeView' was not declared in this scope; did you mean 'wTreeView'? 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^~~~~~~~~~~ | wTreeView ../hiro/core/../gtk/widget/tree-view.cpp:13:42: error: expected primary-expression before ',' token 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:13:53: error: expected primary-expression before '*' token 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:13:55: error: 'p' was not declared in this scope 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:13:56: error: expression list treated as compound expression in initializer [-fpermissive] 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:13:58: error: expected ',' or ';' before '->' token 13 | static auto TreeView_context(GtkTreeView*, pTreeView* p) -> void { p->self().doContext(); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:14:31: error: 'GtkTreeViewColumn' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:50: error: 'column' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:58: error: 'GtkCellRenderer' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:75: error: 'renderer' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:85: error: 'GtkTreeModel' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:99: error: 'model' was not declared in this scope; did you mean 'modfl'? 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~ | modfl ../hiro/core/../gtk/widget/tree-view.cpp:14:106: error: 'GtkTreeIter' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:119: error: 'iter' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~~~ ../hiro/core/../gtk/widget/tree-view.cpp:14:134: error: expected primary-expression before '*' token 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:14:136: error: 'p' was not declared in this scope 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:14:137: error: expression list treated as compound expression in initializer [-fpermissive] 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:14:139: error: expected ',' or ';' before '->' token 14 | static auto TreeView_dataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeModel* model, GtkTreeIter* iter, pTreeView* p) -> void { return p->_doDataFunc(column, renderer, iter); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:15:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/tree-view.cpp:15:41: error: expected primary-expression before ',' token 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:15:43: error: 'GdkEventKey' was not declared in this scope 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:15:55: error: expected primary-expression before ',' token 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:15:66: error: expected primary-expression before '*' token 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:15:68: error: 'p' was not declared in this scope 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:15:69: error: expression list treated as compound expression in initializer [-fpermissive] 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:15:71: error: expected ',' or ';' before '->' token 15 | static auto TreeView_keyPress(GtkWidget*, GdkEventKey*, pTreeView* p) -> int { p->suppressActivate = false; return false; } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:16:29: error: 'GtkCellRendererToggle' was not declared in this scope 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:16:51: error: expected primary-expression before ',' token 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:16:53: error: expected primary-expression before 'char' 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^~~~ ../hiro/core/../gtk/widget/tree-view.cpp:16:74: error: expected primary-expression before '*' token 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:16:76: error: 'p' was not declared in this scope 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:16:77: error: expression list treated as compound expression in initializer [-fpermissive] 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^ ../hiro/core/../gtk/widget/tree-view.cpp:16:79: error: expected ',' or ';' before '->' token 16 | static auto TreeView_toggle(GtkCellRendererToggle*, char* path, pTreeView* p) -> void { p->_togglePath(path); } | ^~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'virtual void hiro::pTreeView::construct()': ../hiro/core/../gtk/widget/tree-view.cpp:19:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 19 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tree-view.cpp:19:15: error: 'gtk_scrolled_window_new' was not declared in this scope 19 | gtkWidget = gtk_scrolled_window_new(0, 0); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:20:3: error: 'gtkScrolledWindow' was not declared in this scope 20 | gtkScrolledWindow = GTK_SCROLLED_WINDOW(gtkWidget); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:20:23: error: 'GTK_SCROLLED_WINDOW' was not declared in this scope 20 | gtkScrolledWindow = GTK_SCROLLED_WINDOW(gtkWidget); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:21:53: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 21 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:21:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 21 | gtk_scrolled_window_set_policy(gtkScrolledWindow, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:22:58: error: 'GTK_SHADOW_ETCHED_IN' was not declared in this scope 22 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:22:3: error: 'gtk_scrolled_window_set_shadow_type' was not declared in this scope 22 | gtk_scrolled_window_set_shadow_type(gtkScrolledWindow, GTK_SHADOW_ETCHED_IN); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:24:3: error: 'gtkTreeStore' was not declared in this scope 24 | gtkTreeStore = gtk_tree_store_new(3, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:24:40: error: 'G_TYPE_BOOLEAN' was not declared in this scope 24 | gtkTreeStore = gtk_tree_store_new(3, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:24:56: error: 'GDK_TYPE_PIXBUF' was not declared in this scope 24 | gtkTreeStore = gtk_tree_store_new(3, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:24:73: error: 'G_TYPE_STRING' was not declared in this scope 24 | gtkTreeStore = gtk_tree_store_new(3, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:24:18: error: 'gtk_tree_store_new' was not declared in this scope 24 | gtkTreeStore = gtk_tree_store_new(3, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:25:3: error: 'gtkTreeModel' was not declared in this scope 25 | gtkTreeModel = GTK_TREE_MODEL(gtkTreeStore); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:25:18: error: 'GTK_TREE_MODEL' was not declared in this scope 25 | gtkTreeModel = GTK_TREE_MODEL(gtkTreeStore); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:27:3: error: 'gtkWidgetChild' was not declared in this scope 27 | gtkWidgetChild = gtk_tree_view_new_with_model(gtkTreeModel); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:27:20: error: 'gtk_tree_view_new_with_model' was not declared in this scope 27 | gtkWidgetChild = gtk_tree_view_new_with_model(gtkTreeModel); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:28:3: error: 'gtkTreeView' was not declared in this scope; did you mean 'pTreeView'? 28 | gtkTreeView = GTK_TREE_VIEW(gtkWidgetChild); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view.cpp:28:17: error: 'GTK_TREE_VIEW' was not declared in this scope 28 | gtkTreeView = GTK_TREE_VIEW(gtkWidgetChild); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:29:3: error: 'gtkTreeSelection' was not declared in this scope 29 | gtkTreeSelection = gtk_tree_view_get_selection(gtkTreeView); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:29:22: error: 'gtk_tree_view_get_selection' was not declared in this scope 29 | gtkTreeSelection = gtk_tree_view_get_selection(gtkTreeView); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:30:3: error: 'gtk_tree_view_set_headers_visible' was not declared in this scope 30 | gtk_tree_view_set_headers_visible(gtkTreeView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:31:3: error: 'gtk_tree_view_set_show_expanders' was not declared in this scope 31 | gtk_tree_view_set_show_expanders(gtkTreeView, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:32:3: error: 'gtk_tree_view_set_level_indentation' was not declared in this scope 32 | gtk_tree_view_set_level_indentation(gtkTreeView, TreeViewIndentation); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:33:21: error: 'GTK_CONTAINER' was not declared in this scope 33 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkWidgetChild); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:33:3: error: 'gtk_container_add' was not declared in this scope 33 | gtk_container_add(GTK_CONTAINER(gtkWidget), gtkWidgetChild); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:34:3: error: 'gtk_widget_show' was not declared in this scope 34 | gtk_widget_show(gtkWidgetChild); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:36:3: error: 'gtkTreeViewColumn' was not declared in this scope 36 | gtkTreeViewColumn = gtk_tree_view_column_new(); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:36:23: error: 'gtk_tree_view_column_new' was not declared in this scope 36 | gtkTreeViewColumn = gtk_tree_view_column_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:38:3: error: 'gtkCellToggle' was not declared in this scope 38 | gtkCellToggle = gtk_cell_renderer_toggle_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:38:19: error: 'gtk_cell_renderer_toggle_new' was not declared in this scope 38 | gtkCellToggle = gtk_cell_renderer_toggle_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:39:3: error: 'gtk_tree_view_column_pack_start' was not declared in this scope 39 | gtk_tree_view_column_pack_start(gtkTreeViewColumn, gtkCellToggle, false); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:40:3: error: 'gtk_tree_view_column_set_attributes' was not declared in this scope 40 | gtk_tree_view_column_set_attributes(gtkTreeViewColumn, gtkCellToggle, "active", 0, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:41:62: error: 'GTK_CELL_RENDERER' was not declared in this scope 41 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:41:97: error: 'GtkTreeCellDataFunc' was not declared in this scope 41 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:41:137: error: 'gpointer' was not declared in this scope 41 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:41:3: error: 'gtk_tree_view_column_set_cell_data_func' was not declared in this scope 41 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellToggle), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:43:3: error: 'gtkCellPixbuf' was not declared in this scope 43 | gtkCellPixbuf = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:43:19: error: 'gtk_cell_renderer_pixbuf_new' was not declared in this scope 43 | gtkCellPixbuf = gtk_cell_renderer_pixbuf_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:46:117: error: expected ')' before 'TreeView_dataFunc' 46 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellPixbuf), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ~ ^~~~~~~~~~~~~~~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:46:146: error: expected ')' before 'this' 46 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellPixbuf), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:48:3: error: 'gtkCellText' was not declared in this scope 48 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:48:17: error: 'gtk_cell_renderer_text_new' was not declared in this scope 48 | gtkCellText = gtk_cell_renderer_text_new(); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:51:115: error: expected ')' before 'TreeView_dataFunc' 51 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellText), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ~ ^~~~~~~~~~~~~~~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:51:144: error: expected ')' before 'this' 51 | gtk_tree_view_column_set_cell_data_func(gtkTreeViewColumn, GTK_CELL_RENDERER(gtkCellText), (GtkTreeCellDataFunc)TreeView_dataFunc, (gpointer)this, nullptr); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:53:3: error: 'gtk_tree_view_append_column' was not declared in this scope 53 | gtk_tree_view_append_column(gtkTreeView, gtkTreeViewColumn); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:54:3: error: 'gtk_tree_view_set_search_column' was not declared in this scope 54 | gtk_tree_view_set_search_column(gtkTreeView, 2); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:60:20: error: 'G_OBJECT' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkWidgetChild), "button-press-event", G_CALLBACK(TreeView_buttonEvent), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:60:68: error: 'G_CALLBACK' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkWidgetChild), "button-press-event", G_CALLBACK(TreeView_buttonEvent), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:60:112: error: expected ')' before 'this' 60 | g_signal_connect(G_OBJECT(gtkWidgetChild), "button-press-event", G_CALLBACK(TreeView_buttonEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:60:3: error: 'g_signal_connect' was not declared in this scope 60 | g_signal_connect(G_OBJECT(gtkWidgetChild), "button-press-event", G_CALLBACK(TreeView_buttonEvent), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:61:114: error: expected ')' before 'this' 61 | g_signal_connect(G_OBJECT(gtkWidgetChild), "button-release-event", G_CALLBACK(TreeView_buttonEvent), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:62:106: error: expected ')' before 'this' 62 | g_signal_connect(G_OBJECT(gtkWidgetChild), "key-press-event", G_CALLBACK(TreeView_keyPress), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:63:100: error: expected ')' before 'this' 63 | g_signal_connect(G_OBJECT(gtkWidgetChild), "popup-menu", G_CALLBACK(TreeView_context), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:64:104: error: expected ')' before 'this' 64 | g_signal_connect(G_OBJECT(gtkWidgetChild), "row-activated", G_CALLBACK(TreeView_activate), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:65:98: error: expected ')' before 'this' 65 | g_signal_connect(G_OBJECT(gtkTreeSelection), "changed", G_CALLBACK(TreeView_change), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:66:95: error: expected ')' before 'this' 66 | g_signal_connect(G_OBJECT(gtkCellToggle), "toggled", G_CALLBACK(TreeView_toggle), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/tree-view.cpp:73:3: error: 'gtkEntry' was not declared in this scope 73 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:73:15: error: 'GtkEntry' was not declared in this scope 73 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:73:24: error: expected primary-expression before ')' token 73 | gtkEntry = (GtkEntry*)gtk_entry_new(); | ^ ../hiro/core/../gtk/widget/tree-view.cpp:74:3: error: 'gtk_tree_view_set_search_entry' was not declared in this scope 74 | gtk_tree_view_set_search_entry(gtkTreeView, gtkEntry); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'virtual void hiro::pTreeView::destruct()': ../hiro/core/../gtk/widget/tree-view.cpp:80:33: error: 'gtkEntry' was not declared in this scope 80 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:80:22: error: 'GTK_WIDGET' was not declared in this scope 80 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:80:3: error: 'gtk_widget_destroy' was not declared in this scope 80 | gtk_widget_destroy(GTK_WIDGET(gtkEntry)); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:81:22: error: 'gtkWidgetChild' was not declared in this scope 81 | gtk_widget_destroy(gtkWidgetChild); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:82:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 82 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'void hiro::pTreeView::setBackgroundColor(hiro::Color)': ../hiro/core/../gtk/widget/tree-view.cpp:98:19: error: 'CreateColor' was not declared in this scope 98 | auto gdkColor = CreateColor(color); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:99:26: error: 'gtkWidgetChild' was not declared in this scope 99 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:99:42: error: 'GTK_STATE_NORMAL' was not declared in this scope 99 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:99:3: error: 'gtk_widget_modify_base' was not declared in this scope 99 | gtk_widget_modify_base(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'virtual void hiro::pTreeView::setFocused()': ../hiro/core/../gtk/widget/tree-view.cpp:106:51: error: 'gtkTreeSelection' was not declared in this scope 106 | bool selected = gtk_tree_selection_get_selected(gtkTreeSelection, nullptr, nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:106:19: error: 'gtk_tree_selection_get_selected' was not declared in this scope 106 | bool selected = gtk_tree_selection_get_selected(gtkTreeSelection, nullptr, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:107:25: error: 'gtkWidgetChild' was not declared in this scope 107 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:107:3: error: 'gtk_widget_grab_focus' was not declared in this scope 107 | gtk_widget_grab_focus(gtkWidgetChild); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:108:17: error: 'gtk_tree_selection_unselect_all' was not declared in this scope 108 | if(!selected) gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'void hiro::pTreeView::setForegroundColor(hiro::Color)': ../hiro/core/../gtk/widget/tree-view.cpp:113:19: error: 'CreateColor' was not declared in this scope 113 | auto gdkColor = CreateColor(color); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:114:26: error: 'gtkWidgetChild' was not declared in this scope 114 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:114:42: error: 'GTK_STATE_NORMAL' was not declared in this scope 114 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:114:3: error: 'gtk_widget_modify_text' was not declared in this scope 114 | gtk_widget_modify_text(gtkWidgetChild, GTK_STATE_NORMAL, color ? &gdkColor : nullptr); | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: At global scope: ../hiro/core/../gtk/widget/tree-view.cpp:124:6: error: 'auto hiro::pTreeView::_activatePath' is not a static data member of 'struct hiro::pTreeView' 124 | auto pTreeView::_activatePath(GtkTreePath* gtkPath) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:124:31: error: 'GtkTreePath' was not declared in this scope 124 | auto pTreeView::_activatePath(GtkTreePath* gtkPath) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:124:44: error: 'gtkPath' was not declared in this scope 124 | auto pTreeView::_activatePath(GtkTreePath* gtkPath) -> void { | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:124:53: error: expected ',' or ';' before '->' token 124 | auto pTreeView::_activatePath(GtkTreePath* gtkPath) -> void { | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:137:6: error: 'auto hiro::pTreeView::_buttonEvent' is not a static data member of 'struct hiro::pTreeView' 137 | auto pTreeView::_buttonEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:137:30: error: 'GdkEventButton' was not declared in this scope 137 | auto pTreeView::_buttonEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:137:46: error: 'gdkEvent' was not declared in this scope 137 | auto pTreeView::_buttonEvent(GdkEventButton* gdkEvent) -> signed { | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:137:56: error: expected ',' or ';' before '->' token 137 | auto pTreeView::_buttonEvent(GdkEventButton* gdkEvent) -> signed { | ^~ ../hiro/core/../gtk/widget/tree-view.cpp:195:6: error: 'auto hiro::pTreeView::_doDataFunc' is not a static data member of 'struct hiro::pTreeView' 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:29: error: 'GtkTreeViewColumn' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:48: error: 'column' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:56: error: 'GtkCellRenderer' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:73: error: 'renderer' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:83: error: 'GtkTreeIter' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:96: error: 'iter' was not declared in this scope 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~~~ ../hiro/core/../gtk/widget/tree-view.cpp:195:100: error: expression list treated as compound expression in initializer [-fpermissive] 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^ ../hiro/core/../gtk/widget/tree-view.cpp:195:102: error: expected ',' or ';' before '->' token 195 | auto pTreeView::_doDataFunc(GtkTreeViewColumn* column, GtkCellRenderer* renderer, GtkTreeIter* iter) -> void { | ^~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'void hiro::pTreeView::_togglePath(nall::string)': ../hiro/core/../gtk/widget/tree-view.cpp:233:24: error: 'gtkTreeStore' was not declared in this scope 233 | gtk_tree_store_set(gtkTreeStore, &item->self()->gtkIter, 0, checked, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:233:53: error: 'struct hiro::pTreeViewItem' has no member named 'gtkIter' 233 | gtk_tree_store_set(gtkTreeStore, &item->self()->gtkIter, 0, checked, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:233:5: error: 'gtk_tree_store_set' was not declared in this scope 233 | gtk_tree_store_set(gtkTreeStore, &item->self()->gtkIter, 0, checked, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'void hiro::pTreeView::_updateScrollBars()': ../hiro/core/../gtk/widget/tree-view.cpp:250:58: error: 'gtkScrolledWindow' was not declared in this scope 250 | if(auto scrollBar = gtk_scrolled_window_get_vscrollbar(gtkScrolledWindow)) { | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:250:23: error: 'gtk_scrolled_window_get_vscrollbar' was not declared in this scope 250 | if(auto scrollBar = gtk_scrolled_window_get_vscrollbar(gtkScrolledWindow)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:251:5: error: 'GtkAllocation' was not declared in this scope 251 | GtkAllocation allocation; | ^~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:252:43: error: 'allocation' was not declared in this scope 252 | gtk_widget_get_allocation(scrollBar, &allocation); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:252:5: error: 'gtk_widget_get_allocation' was not declared in this scope 252 | gtk_widget_get_allocation(scrollBar, &allocation); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:253:8: error: 'gtk_widget_get_visible' was not declared in this scope 253 | if(gtk_widget_get_visible(scrollBar)) maximumWidth -= allocation.width; | ^~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:263:34: error: 'gtkScrolledWindow' was not declared in this scope 263 | gtk_scrolled_window_set_policy(gtkScrolledWindow, | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:264:36: error: 'GTK_POLICY_ALWAYS' was not declared in this scope 264 | minimumWidth >= maximumWidth ? GTK_POLICY_ALWAYS : GTK_POLICY_NEVER, | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:264:56: error: 'GTK_POLICY_NEVER' was not declared in this scope 264 | minimumWidth >= maximumWidth ? GTK_POLICY_ALWAYS : GTK_POLICY_NEVER, | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:265:5: error: 'GTK_POLICY_AUTOMATIC' was not declared in this scope 265 | GTK_POLICY_AUTOMATIC); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:263:3: error: 'gtk_scrolled_window_set_policy' was not declared in this scope 263 | gtk_scrolled_window_set_policy(gtkScrolledWindow, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp: In member function 'void hiro::pTreeView::_updateSelected()': ../hiro/core/../gtk/widget/tree-view.cpp:271:37: error: 'gtkTreeSelection' was not declared in this scope 271 | gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:271:5: error: 'gtk_tree_selection_unselect_all' was not declared in this scope 271 | gtk_tree_selection_unselect_all(gtkTreeSelection); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:275:3: error: 'GtkTreeIter' was not declared in this scope 275 | GtkTreeIter iter; | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:276:38: error: 'gtkTreeSelection' was not declared in this scope 276 | if(gtk_tree_selection_get_selected(gtkTreeSelection, >kTreeModel, &iter)) { | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:276:57: error: 'gtkTreeModel' was not declared in this scope 276 | if(gtk_tree_selection_get_selected(gtkTreeSelection, >kTreeModel, &iter)) { | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:276:72: error: 'iter' was not declared in this scope 276 | if(gtk_tree_selection_get_selected(gtkTreeSelection, >kTreeModel, &iter)) { | ^~~~ ../hiro/core/../gtk/widget/tree-view.cpp:276:6: error: 'gtk_tree_selection_get_selected' was not declared in this scope 276 | if(gtk_tree_selection_get_selected(gtkTreeSelection, >kTreeModel, &iter)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:277:21: error: 'gtk_tree_model_get_string_from_iter' was not declared in this scope 277 | char* gtkPath = gtk_tree_model_get_string_from_iter(gtkTreeModel, &iter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view.cpp:279:5: error: 'g_free' was not declared in this scope; did you mean 'free'? 279 | g_free(gtkPath); | ^~~~~~ | free In file included from ../hiro/core/../gtk/platform.cpp:60: ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'virtual void hiro::pTreeViewItem::construct()': ../hiro/core/../gtk/widget/tree-view-item.cpp:8:43: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 8 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, &parentItem->gtkIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:8:58: error: 'gtkIter' was not declared in this scope 8 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, &parentItem->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:8:80: error: 'struct hiro::pTreeViewItem' has no member named 'gtkIter' 8 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, &parentItem->gtkIter); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:8:7: error: 'gtk_tree_store_append' was not declared in this scope 8 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, &parentItem->gtkIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:10:43: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 10 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, nullptr); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:10:58: error: 'gtkIter' was not declared in this scope 10 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, nullptr); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:10:7: error: 'gtk_tree_store_append' was not declared in this scope 10 | gtk_tree_store_append(parentWidget->gtkTreeStore, >kIter, nullptr); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'virtual void hiro::pTreeViewItem::destruct()': ../hiro/core/../gtk/widget/tree-view-item.cpp:20:35: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 20 | gtk_tree_store_remove(parent->gtkTreeStore, >kIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:20:50: error: 'gtkIter' was not declared in this scope 20 | gtk_tree_store_remove(parent->gtkTreeStore, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:20:5: error: 'gtk_tree_store_remove' was not declared in this scope 20 | gtk_tree_store_remove(parent->gtkTreeStore, >kIter); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'void hiro::pTreeViewItem::setChecked(bool)': ../hiro/core/../gtk/widget/tree-view-item.cpp:41:38: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 41 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 0, checked, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:41:53: error: 'gtkIter' was not declared in this scope 41 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 0, checked, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:41:5: error: 'gtk_tree_store_set' was not declared in this scope 41 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 0, checked, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'void hiro::pTreeViewItem::setExpanded(bool)': ../hiro/core/../gtk/widget/tree-view-item.cpp:47:55: error: 'struct hiro::pTreeView' has no member named 'gtkTreeModel' 47 | auto path = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:47:70: error: 'gtkIter' was not declared in this scope 47 | auto path = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:47:17: error: 'gtk_tree_model_get_path' was not declared in this scope 47 | auto path = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:49:46: error: 'struct hiro::pTreeView' has no member named 'gtkTreeView'; did you mean 'pTreeView'? 49 | gtk_tree_view_expand_row(parentWidget->gtkTreeView, path, false); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view-item.cpp:49:7: error: 'gtk_tree_view_expand_row' was not declared in this scope 49 | gtk_tree_view_expand_row(parentWidget->gtkTreeView, path, false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:56:48: error: 'struct hiro::pTreeView' has no member named 'gtkTreeView'; did you mean 'pTreeView'? 56 | gtk_tree_view_collapse_row(parentWidget->gtkTreeView, path); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view-item.cpp:56:7: error: 'gtk_tree_view_collapse_row' was not declared in this scope 56 | gtk_tree_view_collapse_row(parentWidget->gtkTreeView, path); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:58:5: error: 'gtk_tree_path_free' was not declared in this scope 58 | gtk_tree_path_free(path); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'virtual void hiro::pTreeViewItem::setFocused()': ../hiro/core/../gtk/widget/tree-view-item.cpp:64:5: error: 'GtkTreePath' was not declared in this scope 64 | GtkTreePath* path = gtk_tree_path_new_from_string(self().path().transform("/", ":")); | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:64:18: error: 'path' was not declared in this scope; did you mean 'nall::Location::path'? 64 | GtkTreePath* path = gtk_tree_path_new_from_string(self().path().transform("/", ":")); | ^~~~ | nall::Location::path ../nall/location.hpp:9:13: note: 'nall::Location::path' declared here 9 | inline auto path(string_view self) -> string { | ^~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:64:25: error: 'gtk_tree_path_new_from_string' was not declared in this scope 64 | GtkTreePath* path = gtk_tree_path_new_from_string(self().path().transform("/", ":")); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:65:44: error: 'struct hiro::pTreeView' has no member named 'gtkTreeView'; did you mean 'pTreeView'? 65 | gtk_tree_view_set_cursor(parentWidget->gtkTreeView, path, nullptr, false); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view-item.cpp:65:5: error: 'gtk_tree_view_set_cursor' was not declared in this scope 65 | gtk_tree_view_set_cursor(parentWidget->gtkTreeView, path, nullptr, false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:66:48: error: 'struct hiro::pTreeView' has no member named 'gtkTreeView'; did you mean 'pTreeView'? 66 | gtk_tree_view_scroll_to_cell(parentWidget->gtkTreeView, path, nullptr, true, 0.5, 0.0); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view-item.cpp:66:5: error: 'gtk_tree_view_scroll_to_cell' was not declared in this scope 66 | gtk_tree_view_scroll_to_cell(parentWidget->gtkTreeView, path, nullptr, true, 0.5, 0.0); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:67:5: error: 'gtk_tree_path_free' was not declared in this scope 67 | gtk_tree_path_free(path); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'void hiro::pTreeViewItem::setIcon(const nall::image&)': ../hiro/core/../gtk/widget/tree-view-item.cpp:77:21: error: 'CreatePixbuf' was not declared in this scope 77 | auto pixbuf = CreatePixbuf(icon); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:78:40: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 78 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, pixbuf, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:78:55: error: 'gtkIter' was not declared in this scope 78 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, pixbuf, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:78:7: error: 'gtk_tree_store_set' was not declared in this scope 78 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, pixbuf, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:80:40: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 80 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, nullptr, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:80:55: error: 'gtkIter' was not declared in this scope 80 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, nullptr, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:80:7: error: 'gtk_tree_store_set' was not declared in this scope 80 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 1, nullptr, -1); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'void hiro::pTreeViewItem::setSelected()': ../hiro/core/../gtk/widget/tree-view-item.cpp:90:58: error: 'struct hiro::pTreeView' has no member named 'gtkTreeModel' 90 | auto gtkPath = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:90:73: error: 'gtkIter' was not declared in this scope 90 | auto gtkPath = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:90:20: error: 'gtk_tree_model_get_path' was not declared in this scope 90 | auto gtkPath = gtk_tree_model_get_path(parentWidget->gtkTreeModel, >kIter); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:91:48: error: 'struct hiro::pTreeView' has no member named 'gtkTreeView'; did you mean 'pTreeView'? 91 | gtk_tree_view_expand_to_path(parentWidget->gtkTreeView, gtkPath); | ^~~~~~~~~~~ | pTreeView ../hiro/core/../gtk/widget/tree-view-item.cpp:91:5: error: 'gtk_tree_view_expand_to_path' was not declared in this scope 91 | gtk_tree_view_expand_to_path(parentWidget->gtkTreeView, gtkPath); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:92:5: error: 'gtk_tree_path_free' was not declared in this scope 92 | gtk_tree_path_free(gtkPath); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:93:50: error: 'struct hiro::pTreeView' has no member named 'gtkTreeSelection' 93 | gtk_tree_selection_select_iter(parentWidget->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:93:5: error: 'gtk_tree_selection_select_iter' was not declared in this scope 93 | gtk_tree_selection_select_iter(parentWidget->gtkTreeSelection, >kIter); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp: In member function 'void hiro::pTreeViewItem::setText(const nall::string&)': ../hiro/core/../gtk/widget/tree-view-item.cpp:100:38: error: 'struct hiro::pTreeView' has no member named 'gtkTreeStore' 100 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 2, (const char*)text, -1); | ^~~~~~~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:100:53: error: 'gtkIter' was not declared in this scope 100 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 2, (const char*)text, -1); | ^~~~~~~ ../hiro/core/../gtk/widget/tree-view-item.cpp:100:5: error: 'gtk_tree_store_set' was not declared in this scope 100 | gtk_tree_store_set(parentWidget->gtkTreeStore, >kIter, 2, (const char*)text, -1); | ^~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:61: ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp: At global scope: ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:38: error: 'GtkRange' was not declared in this scope 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:48: error: 'gtkRange' was not declared in this scope 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:76: error: expected primary-expression before '*' token 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:78: error: 'p' was not declared in this scope 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:79: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:5:81: error: expected ',' or ';' before '->' token 5 | static auto VerticalScrollBar_change(GtkRange* gtkRange, pVerticalScrollBar* p) -> void { | ^~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp: In member function 'virtual void hiro::pVerticalScrollBar::construct()': ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:16:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:16:33: error: 'GTK_ORIENTATION_VERTICAL' was not declared in this scope 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:16:15: error: 'gtk_scrollbar_new' was not declared in this scope 16 | gtkWidget = gtk_scrollbar_new(GTK_ORIENTATION_VERTICAL, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:22:20: error: 'G_OBJECT' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalScrollBar_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:22:58: error: 'G_CALLBACK' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalScrollBar_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:22:97: error: 'gpointer' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalScrollBar_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:22:3: error: 'g_signal_connect' was not declared in this scope 22 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalScrollBar_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp: In member function 'virtual void hiro::pVerticalScrollBar::destruct()': ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:28:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 28 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:28:3: error: 'gtk_widget_destroy' was not declared in this scope 28 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp: In member function 'void hiro::pVerticalScrollBar::setLength(unsigned int)': ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:38:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:38:23: error: 'GTK_RANGE' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:38:3: error: 'gtk_range_set_range' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:39:3: error: 'gtk_range_set_increments' was not declared in this scope 39 | gtk_range_set_increments(GTK_RANGE(gtkWidget), 1, length >> 3); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp: In member function 'void hiro::pVerticalScrollBar::setPosition(unsigned int)': ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:43:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:43:23: error: 'GTK_RANGE' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ ../hiro/core/../gtk/widget/vertical-scroll-bar.cpp:43:3: error: 'gtk_range_set_value' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:62: ../hiro/core/../gtk/widget/vertical-slider.cpp: At global scope: ../hiro/core/../gtk/widget/vertical-slider.cpp:5:35: error: 'GtkRange' was not declared in this scope 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:5:45: error: 'gtkRange' was not declared in this scope 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:5:70: error: expected primary-expression before '*' token 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-slider.cpp:5:72: error: 'p' was not declared in this scope 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-slider.cpp:5:73: error: expression list treated as compound expression in initializer [-fpermissive] 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^ ../hiro/core/../gtk/widget/vertical-slider.cpp:5:75: error: expected ',' or ';' before '->' token 5 | static auto VerticalSlider_change(GtkRange* gtkRange, pVerticalSlider* p) -> void { | ^~ ../hiro/core/../gtk/widget/vertical-slider.cpp: In member function 'virtual void hiro::pVerticalSlider::construct()': ../hiro/core/../gtk/widget/vertical-slider.cpp:16:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0, 100, 1); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-slider.cpp:16:40: error: 'GTK_ORIENTATION_VERTICAL' was not declared in this scope 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0, 100, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:16:15: error: 'gtk_scale_new_with_range' was not declared in this scope 16 | gtkWidget = gtk_scale_new_with_range(GTK_ORIENTATION_VERTICAL, 0, 100, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:18:28: error: 'GTK_SCALE' was not declared in this scope 18 | gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false); | ^~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:18:3: error: 'gtk_scale_set_draw_value' was not declared in this scope 18 | gtk_scale_set_draw_value(GTK_SCALE(gtkWidget), false); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:23:20: error: 'G_OBJECT' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalSlider_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:23:58: error: 'G_CALLBACK' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalSlider_change), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:23:94: error: 'gpointer' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalSlider_change), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:23:3: error: 'g_signal_connect' was not declared in this scope 23 | g_signal_connect(G_OBJECT(gtkWidget), "value-changed", G_CALLBACK(VerticalSlider_change), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp: In member function 'virtual void hiro::pVerticalSlider::destruct()': ../hiro/core/../gtk/widget/vertical-slider.cpp:29:22: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-slider.cpp:29:3: error: 'gtk_widget_destroy' was not declared in this scope 29 | gtk_widget_destroy(gtkWidget); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp: In member function 'void hiro::pVerticalSlider::setLength(unsigned int)': ../hiro/core/../gtk/widget/vertical-slider.cpp:38:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-slider.cpp:38:23: error: 'GTK_RANGE' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:38:3: error: 'gtk_range_set_range' was not declared in this scope 38 | gtk_range_set_range(GTK_RANGE(gtkWidget), 0, max(1u, length - 1)); | ^~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:39:3: error: 'gtk_range_set_increments' was not declared in this scope 39 | gtk_range_set_increments(GTK_RANGE(gtkWidget), 1, length >> 3); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp: In member function 'void hiro::pVerticalSlider::setPosition(unsigned int)': ../hiro/core/../gtk/widget/vertical-slider.cpp:43:33: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/vertical-slider.cpp:43:23: error: 'GTK_RANGE' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~ ../hiro/core/../gtk/widget/vertical-slider.cpp:43:3: error: 'gtk_range_set_value' was not declared in this scope 43 | gtk_range_set_value(GTK_RANGE(gtkWidget), position); | ^~~~~~~~~~~~~~~~~~~ In file included from ../hiro/core/../gtk/platform.cpp:63: ../hiro/core/../gtk/widget/viewport.cpp: At global scope: ../hiro/core/../gtk/widget/viewport.cpp:6:27: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/viewport.cpp:6:38: error: 'widget' was not declared in this scope; did you mean 'Widget'? 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/viewport.cpp:6:46: error: 'cairo_t' was not declared in this scope 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:6:55: error: 'context' was not declared in this scope; did you mean 'ucontext'? 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/viewport.cpp:6:73: error: expected primary-expression before '*' token 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:6:75: error: 'p' was not declared in this scope 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:6:76: error: expression list treated as compound expression in initializer [-fpermissive] 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:6:78: error: expected ',' or ';' before '->' token 6 | static auto Viewport_draw(GtkWidget* widget, cairo_t* context, pViewport* p) -> signed { | ^~ ../hiro/core/../gtk/widget/viewport.cpp:12:29: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/viewport.cpp:12:40: error: 'widget' was not declared in this scope; did you mean 'Widget'? 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/viewport.cpp:12:48: error: 'GdkEventExpose' was not declared in this scope 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:12:64: error: 'event' was not declared in this scope; did you mean 'servent'? 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/viewport.cpp:12:80: error: expected primary-expression before '*' token 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:12:82: error: 'p' was not declared in this scope 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:12:83: error: expression list treated as compound expression in initializer [-fpermissive] 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:12:85: error: expected ',' or ';' before '->' token 12 | static auto Viewport_expose(GtkWidget* widget, GdkEventExpose* event, pViewport* p) -> signed { | ^~ ../hiro/core/../gtk/widget/viewport.cpp:17:31: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/viewport.cpp:17:42: error: 'widget' was not declared in this scope; did you mean 'Widget'? 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/viewport.cpp:17:50: error: 'GdkEventKey' was not declared in this scope 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:17:63: error: 'event' was not declared in this scope; did you mean 'servent'? 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/viewport.cpp:17:79: error: expected primary-expression before '*' token 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:17:81: error: 'p' was not declared in this scope 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:17:82: error: expression list treated as compound expression in initializer [-fpermissive] 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:17:84: error: expected ',' or ';' before '->' token 17 | static auto Viewport_keyPress(GtkWidget* widget, GdkEventKey* event, pViewport* p) -> signed { | ^~ ../hiro/core/../gtk/widget/viewport.cpp:26:33: error: 'GtkWidget' was not declared in this scope; did you mean 'wWidget'? 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^~~~~~~~~ | wWidget ../hiro/core/../gtk/widget/viewport.cpp:26:44: error: 'widget' was not declared in this scope; did you mean 'Widget'? 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^~~~~~ | Widget ../hiro/core/../gtk/widget/viewport.cpp:26:52: error: 'GdkEventButton' was not declared in this scope 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:26:68: error: 'event' was not declared in this scope; did you mean 'servent'? 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^~~~~ | servent ../hiro/core/../gtk/widget/viewport.cpp:26:84: error: expected primary-expression before '*' token 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:26:86: error: 'p' was not declared in this scope 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:26:87: error: expression list treated as compound expression in initializer [-fpermissive] 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^ ../hiro/core/../gtk/widget/viewport.cpp:26:89: error: expected ',' or ';' before '->' token 26 | static auto Viewport_mousePress(GtkWidget* widget, GdkEventButton* event, pViewport* p) -> signed { | ^~ ../hiro/core/../gtk/widget/viewport.cpp: In member function 'virtual void hiro::pViewport::construct()': ../hiro/core/../gtk/widget/viewport.cpp:35:3: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 35 | gtkWidget = gtk_drawing_area_new(); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/viewport.cpp:35:15: error: 'gtk_drawing_area_new' was not declared in this scope 35 | gtkWidget = gtk_drawing_area_new(); | ^~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:5: error: 'GDK_BUTTON_PRESS_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:29: error: 'GDK_BUTTON_RELEASE_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:55: error: 'GDK_EXPOSURE_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:75: error: 'GDK_ENTER_NOTIFY_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:99: error: 'GDK_LEAVE_NOTIFY_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:37:123: error: 'GDK_POINTER_MOTION_MASK' was not declared in this scope 37 | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_EXPOSURE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_POINTER_MOTION_MASK); | ^~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:36:3: error: 'gtk_widget_add_events' was not declared in this scope 36 | gtk_widget_add_events(gtkWidget, | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:39:20: error: 'G_OBJECT' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Viewport_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:39:63: error: 'G_CALLBACK' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Viewport_mousePress), (gpointer)this); | ^~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:39:97: error: 'gpointer' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Viewport_mousePress), (gpointer)this); | ^~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:39:3: error: 'g_signal_connect' was not declared in this scope 39 | g_signal_connect(G_OBJECT(gtkWidget), "button-press-event", G_CALLBACK(Viewport_mousePress), (gpointer)this); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:40:108: error: expected ')' before 'this' 40 | g_signal_connect(G_OBJECT(gtkWidget), "button-release-event", G_CALLBACK(Widget_mouseRelease), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:41:98: error: expected ')' before 'this' 41 | g_signal_connect(G_OBJECT(gtkWidget), "drag-data-received", G_CALLBACK(Widget_drop), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:45:86: error: expected ')' before 'this' 45 | g_signal_connect(G_OBJECT(gtkWidget), "draw", G_CALLBACK(Viewport_draw), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:47:101: error: expected ')' before 'this' 47 | g_signal_connect(G_OBJECT(gtkWidget), "key-press-event", G_CALLBACK(Viewport_keyPress), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:48:104: error: expected ')' before 'this' 48 | g_signal_connect(G_OBJECT(gtkWidget), "enter-notify-event", G_CALLBACK(Widget_mouseEnter), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:49:104: error: expected ')' before 'this' 49 | g_signal_connect(G_OBJECT(gtkWidget), "leave-notify-event", G_CALLBACK(Widget_mouseLeave), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp:50:104: error: expected ')' before 'this' 50 | g_signal_connect(G_OBJECT(gtkWidget), "motion-notify-event", G_CALLBACK(Widget_mouseMove), (gpointer)this); | ~ ^~~~ | ) ../hiro/core/../gtk/widget/viewport.cpp: In member function 'virtual void hiro::pViewport::destruct()': ../hiro/core/../gtk/widget/viewport.cpp:56:6: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 56 | if(gtkWidget) gtk_widget_destroy(gtkWidget), gtkWidget = nullptr; | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/viewport.cpp:56:17: error: 'gtk_widget_destroy' was not declared in this scope 56 | if(gtkWidget) gtk_widget_destroy(gtkWidget), gtkWidget = nullptr; | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:57:3: error: 'gtkParent' was not declared in this scope 57 | gtkParent = nullptr; | ^~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp: In member function 'virtual void hiro::pViewport::setFocusable(bool)': ../hiro/core/../gtk/widget/viewport.cpp:73:28: error: 'gtkWidget' was not declared in this scope; did you mean 'pWidget'? 73 | gtk_widget_set_can_focus(gtkWidget, focusable); | ^~~~~~~~~ | pWidget ../hiro/core/../gtk/widget/viewport.cpp:73:3: error: 'gtk_widget_set_can_focus' was not declared in this scope 73 | gtk_widget_set_can_focus(gtkWidget, focusable); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp: At global scope: ../hiro/core/../gtk/widget/viewport.cpp:76:6: error: 'auto hiro::pViewport::_onDraw' is not a static data member of 'struct hiro::pViewport' 76 | auto pViewport::_onDraw(cairo_t* context) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:76:25: error: 'cairo_t' was not declared in this scope 76 | auto pViewport::_onDraw(cairo_t* context) -> void { | ^~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:76:34: error: 'context' was not declared in this scope; did you mean 'ucontext'? 76 | auto pViewport::_onDraw(cairo_t* context) -> void { | ^~~~~~~ | ucontext ../hiro/core/../gtk/widget/viewport.cpp:76:43: error: expected ',' or ';' before '->' token 76 | auto pViewport::_onDraw(cairo_t* context) -> void { | ^~ ../hiro/core/../gtk/widget/viewport.cpp:81:6: error: 'auto hiro::pViewport::_onExpose' is not a static data member of 'struct hiro::pViewport' 81 | auto pViewport::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:81:27: error: 'GdkEventExpose' was not declared in this scope 81 | auto pViewport::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/widget/viewport.cpp:81:43: error: 'expose' was not declared in this scope; did you mean 'export'? 81 | auto pViewport::_onExpose(GdkEventExpose* expose) -> void { | ^~~~~~ | export ../hiro/core/../gtk/widget/viewport.cpp:81:51: error: expected ',' or ';' before '->' token 81 | auto pViewport::_onExpose(GdkEventExpose* expose) -> void { | ^~ In file included from ../hiro/core/../gtk/platform.cpp:65: ../hiro/core/../gtk/application.cpp:7:40: error: 'GLogLevelFlags' has not been declared 7 | auto Log_Ignore(const char* logDomain, GLogLevelFlags logLevel, const char* message, void* userData) -> void { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:10:40: error: 'GLogLevelFlags' has not been declared 10 | auto Log_Filter(const char* logDomain, GLogLevelFlags logLevel, const char* message, void* userData) -> void { | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp: In static member function 'static bool hiro::pApplication::pendingEvents()': ../hiro/core/../gtk/application.cpp:38:10: error: 'gtk_events_pending' was not declared in this scope 38 | return gtk_events_pending(); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp: In static member function 'static void hiro::pApplication::processEvents()': ../hiro/core/../gtk/application.cpp:47:5: error: 'gtk_main_iteration_do' was not declared in this scope 47 | gtk_main_iteration_do(false); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp: In static member function 'static void hiro::pApplication::quit()': ../hiro/core/../gtk/application.cpp:54:6: error: 'gtk_main_level' was not declared in this scope 54 | if(gtk_main_level()) gtk_main_quit(); | ^~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:54:24: error: 'gtk_main_quit' was not declared in this scope 54 | if(gtk_main_level()) gtk_main_quit(); | ^~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp: In static member function 'static void hiro::pApplication::initialize()': ../hiro/core/../gtk/application.cpp:109:49: error: 'G_LOG_LEVEL_MASK' was not declared in this scope 109 | g_log_set_handler("GVFS-RemoteVolumeMonitor", G_LOG_LEVEL_MASK, Log_Ignore, nullptr); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:109:3: error: 'g_log_set_handler' was not declared in this scope 109 | g_log_set_handler("GVFS-RemoteVolumeMonitor", G_LOG_LEVEL_MASK, Log_Ignore, nullptr); | ^~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:115:3: error: 'gdk_set_program_class' was not declared in this scope 115 | gdk_set_program_class(name); | ^~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:131:3: error: 'gtk_init' was not declared in this scope 131 | gtk_init(&argc, &argvp); | ^~~~~~~~ ../hiro/core/../gtk/application.cpp:132:3: error: 'GtkSettings' was not declared in this scope; did you mean 'Settings'? 132 | GtkSettings* gtkSettings = gtk_settings_get_default(); | ^~~~~~~~~~~ | Settings ../hiro/core/../gtk/application.cpp:132:16: error: 'gtkSettings' was not declared in this scope; did you mean 'Settings'? 132 | GtkSettings* gtkSettings = gtk_settings_get_default(); | ^~~~~~~~~~~ | Settings ../hiro/core/../gtk/application.cpp:132:30: error: 'gtk_settings_get_default' was not declared in this scope 132 | GtkSettings* gtkSettings = gtk_settings_get_default(); | ^~~~~~~~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:135:39: error: 'GTK_TYPE_BUTTON' was not declared in this scope 135 | g_type_class_unref(g_type_class_ref(GTK_TYPE_BUTTON)); | ^~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:135:22: error: 'g_type_class_ref' was not declared in this scope 135 | g_type_class_unref(g_type_class_ref(GTK_TYPE_BUTTON)); | ^~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:135:3: error: 'g_type_class_unref' was not declared in this scope 135 | g_type_class_unref(g_type_class_ref(GTK_TYPE_BUTTON)); | ^~~~~~~~~~~~~~~~~~ ../hiro/core/../gtk/application.cpp:136:3: error: 'g_object_set' was not declared in this scope 136 | g_object_set(gtkSettings, "gtk-button-images", true, nullptr); | ^~~~~~~~~~~~ gmake: *** [../hiro/GNUmakefile:73: obj/hiro-gtk3.o] Error 1 *** Error code 2 Stop. bmake[1]: stopped making "all" in /data/jenkins/workspace/pkgsrc-upstream-trunk/emulators/bsnes *** Error code 1 Stop. bmake: stopped making "all" in /data/jenkins/workspace/pkgsrc-upstream-trunk/emulators/bsnes