Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef ZOOM_FUNC_H
00013 #define ZOOM_FUNC_H
00014
00015 #include "zoom_type.h"
00016
00024 static inline int ScaleByZoom(int value, ZoomLevel zoom)
00025 {
00026 assert(zoom >= 0);
00027 return value << zoom;
00028 }
00029
00037 static inline int UnScaleByZoom(int value, ZoomLevel zoom)
00038 {
00039 assert(zoom >= 0);
00040 return (value + (1 << zoom) - 1) >> zoom;
00041 }
00042
00049 static inline int ScaleByZoomLower(int value, ZoomLevel zoom)
00050 {
00051 assert(zoom >= 0);
00052 return value << zoom;
00053 }
00054
00061 static inline int UnScaleByZoomLower(int value, ZoomLevel zoom)
00062 {
00063 assert(zoom >= 0);
00064 return value >> zoom;
00065 }
00066
00067 #endif