GRect scroll_layer_get_new_content_rect (ScrollLayer* scroll_layer,GPoint offset) {
    GRect to={{0,0},scroll_layer_get_content_size(scroll_layer)};
    to.size.h-=scroll_layer->layer.frame.size.h;
    offset.y*=-1;
    gpoint_move_into_rect(&offset,&to);
    offset.y*=-1;
    to.size.h+=scroll_layer->layer.frame.size.h;
    to.origin=offset;
    return to;
}
示例#2
0
GRect scroll_layer_get_new_content_rect (ScrollLayer* l,GPoint offset) {
    SCROLL_LAYER_GET;
    GRect to={{0,0},scroll_layer_get_content_size(l)};
    to.size.h-=scroll_layer->frame.size.h;
    offset.y*=-1;
    gpoint_move_into_rect(&offset,&to);
    offset.y*=-1;
    to.size.h+=scroll_layer->frame.size.h;
    to.origin=offset;
    return to;
}
示例#3
0
void thread_update_comments_position()
{
	scroll_layer_size = scroll_layer_get_content_size(thread_scroll_layer);

	Layer *layer = text_layer_get_layer(thread_view_comments_layer);

	GRect rect = layer_get_frame(layer);
	rect.origin.y = scroll_layer_size.h;
	layer_set_frame(layer, rect);

	scroll_layer_size.h += LOAD_COMMENTS_HEIGHT;

	scroll_layer_set_content_size(thread_scroll_layer, scroll_layer_size);
}
示例#4
0
void scroll_layer_shadow_layer_update_func (Layer* me,GContext* ctx) {
    ScrollLayer* scroll_layer=(ScrollLayer*)me->parent;
    SDL_Surface* scroll_shadow=getSimulatorImage(SIM_IMG_SCROLL_SHADOW);
    GPoint topOffset=getTopOffset();
    SDL_Surface* screen=getTopScreen ();
    GPoint offset=scroll_layer_get_content_offset (scroll_layer);
    GSize size=scroll_layer_get_content_size (scroll_layer);
    GSize frameSize=me->frame.size;
    SDL_Rect src,dst;
    if (offset.y<0) {
        src=(SDL_Rect){0,15,144,15};
        dst=(SDL_Rect){topOffset.x,topOffset.y,144,15};
        SDL_gfxBlitRGBA(scroll_shadow,&src,screen,&dst);
    }
    if (offset.y-((Layer*)scroll_layer)->frame.size.h!=-size.h) {
        src=(SDL_Rect){0,0,144,15};
        dst=(SDL_Rect){topOffset.x,topOffset.y+frameSize.h-15,144,15};
        SDL_gfxBlitRGBA(scroll_shadow,&src,screen,&dst);
    }
}