source: mainline/contrib/arch/uspace/srv/fb/fb.adl

Last change on this file was f1380b7, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 7 years ago

style: Remove trailing whitespace on _all_ lines, including empty ones, remaining files.

  • Property mode set to 100644
File size: 3.2 KB
RevLine 
[810860a]1interface fb extends service {
2 /* Get screen resolution */
[96b02eb9]3 sysarg_t get_resolution(out sysarg_t width, out sysarg_t height);
[f1380b7]4
[810860a]5 /* Yield screen */
[96b02eb9]6 sysarg_t screen_yield(void);
[f1380b7]7
[810860a]8 /* Reclaim screen */
[96b02eb9]9 sysarg_t screen_reclaim(void);
[f1380b7]10
[810860a]11 /* Set mouse cursor position on screen */
[96b02eb9]12 sysarg_t pointer_move(in sysarg_t x, in sysarg_t y);
[f1380b7]13
[810860a]14 /* Create new viewport */
[96b02eb9]15 sysarg_t viewport_create(in sysarg_t origin, in sysarg_t dimension);
[f1380b7]16
[810860a]17 /* Get viewport size in character cells */
[96b02eb9]18 sysarg_t get_csize(out sysarg_t width, out sysarg_t height);
[f1380b7]19
[810860a]20 /* Clear viewport character buffer */
[96b02eb9]21 sysarg_t clear(void);
[f1380b7]22
[810860a]23 /* Scroll viewport character buffer */
[96b02eb9]24 sysarg_t scroll(in sysarg_t lines);
[f1380b7]25
[810860a]26 /* Set active viewport */
[96b02eb9]27 sysarg_t viewport_switch(in sysarg_t index);
[f1380b7]28
[810860a]29 /* Delete viewport */
[96b02eb9]30 sysarg_t viewport_delete(in sysarg_t index);
[f1380b7]31
[810860a]32 /* Get color capabilities of the screen */
[96b02eb9]33 sysarg_t get_color_cap(void);
[f1380b7]34
[810860a]35 /* Set abstract text style */
[96b02eb9]36 sysarg_t set_style(in sysarg_t style);
[f1380b7]37
[810860a]38 /* Set EGA-based text color */
[96b02eb9]39 sysarg_t set_color(in sysarg_t fg_color, in sysarg_t bg_color, in sysarg_t atrr);
[f1380b7]40
[810860a]41 /* Set RGB-based text color */
[96b02eb9]42 sysarg_t set_rgb_color(in sysarg_t fg_color, in sysarg_t bg_color);
[f1380b7]43
[810860a]44 /* Put a character to a given position in viewport character buffer */
[96b02eb9]45 sysarg_t putchar(in sysarg_t char, in sysarg_t col, in sysarg_t row);
[f1380b7]46
[810860a]47 /* Set character cursor visibility in viewport */
[96b02eb9]48 sysarg_t cursor_visibility(in sysarg_t visible);
[f1380b7]49
[810860a]50 /* Set character cursor position in viewport */
[96b02eb9]51 sysarg_t cursor_goto(in sysarg_t col, in sysarg_t row);
[f1380b7]52
[810860a]53 /* Prepare memory sharing of bitmaps */
[96b02eb9]54 sysarg_t prepare_shm(in sysarg_t as_area_base);
[f1380b7]55
[810860a]56 /* Share bitmap or text data */
[96b02eb9]57 sysarg_t ipc_m_share_out(in sysarg_t as_area_base, in sysarg_t as_area_size, out sysarg_t dst_as_area);
[f1380b7]58
[810860a]59 /* Drop memory sharing */
[96b02eb9]60 sysarg_t drop_shm(void);
[f1380b7]61
[810860a]62 /* Draw PPM data from shared memory to viewport */
[96b02eb9]63 sysarg_t draw_ppm(in sysarg_t x, in sysarg_t y);
[f1380b7]64
[810860a]65 /* Put characters from shared memory to viewport */
[96b02eb9]66 sysarg_t draw_text_data(in sysarg_t x, in sysarg_t y, in sysarg_t width, in sysarg_t height);
[f1380b7]67
[810860a]68 /* Convert PPM data from shared memory to pixmap */
[96b02eb9]69 sysarg_t shm2pixmap(void);
[f1380b7]70
[810860a]71 /* Save viewport contents to a pixmap */
[96b02eb9]72 sysarg_t vp2pixmap(in sysarg_t vp_index);
[f1380b7]73
[810860a]74 /* Draw pixmap to viewport */
[96b02eb9]75 sysarg_t vp_draw_pixmap(in sysarg_t vp_index, in sysarg_t pm_index);
[f1380b7]76
[810860a]77 /* Discard pixmap */
[96b02eb9]78 sysarg_t drop_pixmap(in sysarg_t pm_index);
[f1380b7]79
[810860a]80 /* Create new (empty) animation for a viewport */
[96b02eb9]81 sysarg_t anim_create(in sysarg_t vp_index);
[f1380b7]82
[810860a]83 /* Append a pixmap to an animation */
[96b02eb9]84 sysarg_t anim_addpixmap(in sysarg_t anim_index, in sysarg_t pm_index);
[f1380b7]85
[810860a]86 /* Change a viewport associated with an animation */
[96b02eb9]87 sysarg_t anim_chgvp(in sysarg_t anim_index, in sysarg_t vp_index);
[f1380b7]88
[810860a]89 /* Start animation playback */
[96b02eb9]90 sysarg_t anim_start(in sysarg_t anim_index);
[f1380b7]91
[810860a]92 /* Stop animation playback */
[96b02eb9]93 sysarg_t anim_stop(in sysarg_t anim_index);
[f1380b7]94
[810860a]95 /* Delete animation */
[96b02eb9]96 sysarg_t anim_drop(in sysarg_t anim_index);
[810860a]97 protocol:
98 [fb.bp]
99};
100
101frame fb {
102 provides:
103 fb fb;
104 requires:
105 [/uspace/lib/libc/requires]
106 ns ns;
[6d4c549]107 initialization:
108 !ns.ipc_m_connect_to_me /* fb */
[810860a]109 protocol:
[6d4c549]110 [/uspace/lib/libc/protocol]
[810860a]111};
Note: See TracBrowser for help on using the repository browser.