ios: add method for calculating DPI and read UIscreen scale
This commit is contained in:
parent
2a0d4408d2
commit
f24fc6844f
3 changed files with 33 additions and 0 deletions
|
@ -14,6 +14,8 @@ cdef extern from "ios_wrapper.h":
|
||||||
int ios_send_email(char *subject, char *text, char *mimetype, char
|
int ios_send_email(char *subject, char *text, char *mimetype, char
|
||||||
*filename, char *filename_alias, ios_send_email_cb cb, void *userdata)
|
*filename, char *filename_alias, ios_send_email_cb cb, void *userdata)
|
||||||
void ios_open_url(char *url)
|
void ios_open_url(char *url)
|
||||||
|
float ios_uiscreen_get_scale()
|
||||||
|
int ios_uiscreen_get_dpi()
|
||||||
|
|
||||||
cdef void _send_email_done(char *status, void *data):
|
cdef void _send_email_done(char *status, void *data):
|
||||||
cdef object callback = <object>data
|
cdef object callback = <object>data
|
||||||
|
@ -159,3 +161,13 @@ def send_email(subject, text, mimetype=None, filename=None, filename_alias=None,
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
|
def get_scale():
|
||||||
|
'''Return the UIScreen scale (1 on iPad, 2 on iPad 3)
|
||||||
|
'''
|
||||||
|
return ios_uiscreen_get_scale()
|
||||||
|
|
||||||
|
def get_dpi():
|
||||||
|
'''Return the approximate DPI of the screen
|
||||||
|
'''
|
||||||
|
return ios_uiscreen_get_dpi()
|
||||||
|
|
|
@ -109,3 +109,22 @@ int ios_send_email(char *subject, char *text, char *mimetype, char *filename,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float ios_uiscreen_get_scale() {
|
||||||
|
float scale = 1.0;
|
||||||
|
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) {
|
||||||
|
scale = [[UIScreen mainScreen] scale];
|
||||||
|
};
|
||||||
|
return scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ios_uiscreen_get_dpi() {
|
||||||
|
float scale = ios_uiscreen_get_scale();
|
||||||
|
float dpi = 160 * scale;
|
||||||
|
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
|
||||||
|
dpi = 132 * scale;
|
||||||
|
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
|
||||||
|
dpi = 163 * scale;
|
||||||
|
}
|
||||||
|
return dpi;
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __IOS_WRAPPER
|
#ifndef __IOS_WRAPPER
|
||||||
#define __IOS_WRAPPER
|
#define __IOS_WRAPPER
|
||||||
|
|
||||||
|
float ios_uiscreen_get_scale(void);
|
||||||
|
int ios_uiscreen_get_dpi(void);
|
||||||
void ios_open_url(char *url);
|
void ios_open_url(char *url);
|
||||||
|
|
||||||
typedef void (*ios_send_email_cb)(char *, void *);
|
typedef void (*ios_send_email_cb)(char *, void *);
|
||||||
|
|
Loading…
Reference in a new issue