diff --git a/release/files_common b/release/files_common index 6dd9dcefbb..4746677e4a 100644 --- a/release/files_common +++ b/release/files_common @@ -349,7 +349,7 @@ selfdrive/ui/android/spinner/spinner.c selfdrive/ui/android/text/Makefile selfdrive/ui/android/text/text -selfdrive/ui/android/text/text.c +selfdrive/ui/android/text/text.cc selfdrive/ui/qt/*.cc selfdrive/ui/qt/*.hpp diff --git a/selfdrive/common/framebuffer.cc b/selfdrive/common/framebuffer.cc index 30ef7ae8ea..97f710e137 100644 --- a/selfdrive/common/framebuffer.cc +++ b/selfdrive/common/framebuffer.cc @@ -32,22 +32,22 @@ struct FramebufferState { EGLContext context; }; -extern "C" void framebuffer_swap(FramebufferState *s) { +void framebuffer_swap(FramebufferState *s) { eglSwapBuffers(s->display, s->surface); assert(glGetError() == GL_NO_ERROR); } -extern "C" bool set_brightness(int brightness) { +bool set_brightness(int brightness) { char bright[64]; snprintf(bright, sizeof(bright), "%d", brightness); return 0 == write_file("/sys/class/leds/lcd-backlight/brightness", bright, strlen(bright)); } -extern "C" void framebuffer_set_power(FramebufferState *s, int mode) { +void framebuffer_set_power(FramebufferState *s, int mode) { SurfaceComposerClient::setDisplayPowerMode(s->dtoken, mode); } -extern "C" FramebufferState* framebuffer_init( +FramebufferState* framebuffer_init( const char* name, int32_t layer, int alpha, int *out_w, int *out_h) { status_t status; diff --git a/selfdrive/common/framebuffer.h b/selfdrive/common/framebuffer.h index 45053bbb14..a722b80c95 100644 --- a/selfdrive/common/framebuffer.h +++ b/selfdrive/common/framebuffer.h @@ -1,9 +1,5 @@ #pragma once -#ifdef __cplusplus -extern "C" { -#endif - typedef struct FramebufferState FramebufferState; FramebufferState* framebuffer_init( @@ -39,7 +35,3 @@ enum { * functionality. */ HWC_POWER_MODE_DOZE_SUSPEND = 3, }; - -#ifdef __cplusplus -} -#endif diff --git a/selfdrive/ui/android/text/Makefile b/selfdrive/ui/android/text/Makefile index 3401cae0ff..c83a7a0519 100644 --- a/selfdrive/ui/android/text/Makefile +++ b/selfdrive/ui/android/text/Makefile @@ -44,17 +44,6 @@ opensans_regular.o: ../../../assets/fonts/opensans_regular.ttf @echo "[ bin2o ] $@" cd '$(dir $<)' && ld -r -b binary '$(notdir $<)' -o '$(abspath $@)' -%.o: %.c - mkdir -p $(@D) - @echo "[ CC ] $@" - $(CC) $(CPPFLAGS) $(CFLAGS) \ - -I../../.. \ - -I$(PHONELIBS)/android_frameworks_native/include \ - -I$(PHONELIBS)/android_system_core/include \ - -I$(PHONELIBS)/android_hardware_libhardware/include \ - $(NANOVG_FLAGS) \ - -c -o '$@' '$<' - %.o: %.cc mkdir -p $(@D) @echo "[ CXX ] $@" diff --git a/selfdrive/ui/android/text/text.c b/selfdrive/ui/android/text/text.cc similarity index 87% rename from selfdrive/ui/android/text/text.c rename to selfdrive/ui/android/text/text.cc index 43c43e4689..e6987325ae 100644 --- a/selfdrive/ui/android/text/text.c +++ b/selfdrive/ui/android/text/text.cc @@ -21,8 +21,9 @@ #define COLOR_WHITE nvgRGBA(255, 255, 255, 255) #define MAX_TEXT_SIZE 2048 -extern const unsigned char _binary_opensans_regular_ttf_start[]; -extern const unsigned char _binary_opensans_regular_ttf_end[]; +extern const uint8_t bin_opensans_regular[] asm("_binary_opensans_regular_ttf_start"); +extern const uint8_t *bin_opensans_regular_end asm("_binary_opensans_regular_ttf_end"); + int main(int argc, char** argv) { int err; @@ -36,8 +37,8 @@ int main(int argc, char** argv) { NVGcontext *vg = nvgCreateGLES3(NVG_ANTIALIAS | NVG_STENCIL_STROKES); assert(vg); - int font = nvgCreateFontMem(vg, "regular", (unsigned char*)_binary_opensans_regular_ttf_start, _binary_opensans_regular_ttf_end-_binary_opensans_regular_ttf_start, 0); -assert(font >= 0); + int font = nvgCreateFontMem(vg, "regular", (unsigned char*)bin_opensans_regular, (bin_opensans_regular_end - bin_opensans_regular), 0); + assert(font >= 0); // Awake framebuffer_set_power(fb, HWC_POWER_MODE_NORMAL); @@ -67,7 +68,7 @@ assert(font >= 0); float y = 150; // Copy text - char * text = malloc(MAX_TEXT_SIZE); + char * text = (char *)malloc(MAX_TEXT_SIZE); strncpy(text, argv[1], MAX_TEXT_SIZE); float lineh;