You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
JavaWidget: add css classes and default_stylesheet.css
This commit is contained in:
@@ -295,6 +295,38 @@ JNIEXPORT void JNICALL Java_android_view_View_native_1setBackgroundDrawable
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1queueAllocate
|
||||
(JNIEnv *, jobject, jlong);
|
||||
|
||||
/*
|
||||
* Class: android_view_View
|
||||
* Method: native_addClass
|
||||
* Signature: (JLjava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1addClass
|
||||
(JNIEnv *, jobject, jlong, jstring);
|
||||
|
||||
/*
|
||||
* Class: android_view_View
|
||||
* Method: native_removeClass
|
||||
* Signature: (JLjava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1removeClass
|
||||
(JNIEnv *, jobject, jlong, jstring);
|
||||
|
||||
/*
|
||||
* Class: android_view_View
|
||||
* Method: native_addClasses
|
||||
* Signature: (J[Ljava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1addClasses
|
||||
(JNIEnv *, jobject, jlong, jobjectArray);
|
||||
|
||||
/*
|
||||
* Class: android_view_View
|
||||
* Method: native_removeClasses
|
||||
* Signature: (J[Ljava/lang/String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1removeClasses
|
||||
(JNIEnv *, jobject, jlong, jobjectArray);
|
||||
|
||||
/*
|
||||
* Class: android_view_View
|
||||
* Method: native_drawBackground
|
||||
|
||||
@@ -617,3 +617,52 @@ JNIEXPORT void JNICALL Java_android_view_View_nativeSetFullscreen(JNIEnv *env, j
|
||||
gtk_window_unfullscreen(window);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1addClass(JNIEnv *env, jobject this, jlong widget_ptr, jstring class_name_jstr){
|
||||
GtkWidget *widget = GTK_WIDGET(_PTR(widget_ptr));
|
||||
|
||||
const char *class_name = (*env)->GetStringUTFChars(env, class_name_jstr, NULL);
|
||||
gtk_widget_add_css_class(widget, class_name);
|
||||
|
||||
(*env)->ReleaseStringUTFChars(env, class_name_jstr, class_name);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1removeClass(JNIEnv *env, jobject this, jlong widget_ptr, jstring class_name_jstr){
|
||||
GtkWidget *widget = GTK_WIDGET(_PTR(widget_ptr));
|
||||
|
||||
const char *class_name = (*env)->GetStringUTFChars(env, class_name_jstr, NULL);
|
||||
gtk_widget_remove_css_class(widget, class_name);
|
||||
|
||||
(*env)->ReleaseStringUTFChars(env, class_name_jstr, class_name);
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1addClasses(JNIEnv *env, jobject this, jlong widget_ptr, jobjectArray class_names_jarray){
|
||||
GtkWidget *widget = GTK_WIDGET(_PTR(widget_ptr));
|
||||
|
||||
int length = (*env)->GetArrayLength(env, class_names_jarray);
|
||||
|
||||
for(int i = 0; i < length; i++){
|
||||
jstring class_name_jstr = (jstring) ((*env)->GetObjectArrayElement(env, class_names_jarray, i));
|
||||
|
||||
const char *class_name = (*env)->GetStringUTFChars(env, class_name_jstr, NULL);
|
||||
gtk_widget_add_css_class(widget, class_name);
|
||||
|
||||
(*env)->ReleaseStringUTFChars(env, class_name_jstr, class_name);
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL Java_android_view_View_native_1removeClasses(JNIEnv *env, jobject this, jlong widget_ptr, jobjectArray class_names_jarray){
|
||||
GtkWidget *widget = GTK_WIDGET(_PTR(widget_ptr));
|
||||
|
||||
int length = (*env)->GetArrayLength(env, class_names_jarray);
|
||||
|
||||
for(int i = 0; i < length; i++){
|
||||
jstring class_name_jstr = (jstring) ((*env)->GetObjectArrayElement(env, class_names_jarray, i));
|
||||
|
||||
const char *class_name = (*env)->GetStringUTFChars(env, class_name_jstr, NULL);
|
||||
gtk_widget_remove_css_class(widget, class_name);
|
||||
|
||||
(*env)->ReleaseStringUTFChars(env, class_name_jstr, class_name);
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,7 @@ JNIEXPORT jlong JNICALL Java_android_widget_Button_native_1constructor(JNIEnv *e
|
||||
wrapper_widget_set_child(WRAPPER_WIDGET(wrapper), label);
|
||||
wrapper_widget_consume_touch_events(WRAPPER_WIDGET(wrapper)); // Android button consumes touch events
|
||||
wrapper_widget_set_jobject(WRAPPER_WIDGET(wrapper), env, this);
|
||||
|
||||
return _INTPTR(label);
|
||||
}
|
||||
|
||||
|
||||
@@ -51,4 +51,6 @@ JNIEXPORT void JNICALL Java_android_widget_ImageButton_native_1setDrawable(JNIEn
|
||||
GtkPicture *picture = GTK_PICTURE(gtk_button_get_child(GTK_BUTTON(button)));
|
||||
GdkPaintable *paintable = _PTR(paintable_ptr);
|
||||
gtk_picture_set_paintable(picture, paintable);
|
||||
|
||||
gtk_widget_add_css_class(GTK_WIDGET(button), "ATL-no-border");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user