Initial Version of LayerManagementService added.
[profile/ivi/layer-management.git] / LayerManagerService / include / commands / GetDimensionCommand.h
1 /***************************************************************************
2 *
3 * Copyright 2010 BMW Car IT GmbH
4 *
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *               http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 ****************************************************************************/
19
20 #ifndef _GETDIMENSIONCOMMAND_H_
21 #define _GETDIMENSIONCOMMAND_H_
22
23 #include "Command.h"
24 #include "ObjectType.h"
25
26 class GetDimensionCommand : public Command{
27 public:
28         GetDimensionCommand(int id, ObjectType type, uint* widthRet, uint* heightRet) : Command(GetDimension), id(id), type(type), width(widthRet), height(heightRet){};
29         const int id;
30         const ObjectType type;
31         uint* width;
32         uint* height;
33         virtual void execute(LayerList& layerlist){
34                         GraphicalSurface* go = NULL;
35                         switch(type){
36                                 case TypeSurface: {go = layerlist.getSurface(id); break;}
37                                 case TypeLayer: {go = layerlist.getLayer(id); break;}
38                                 case TypeSurfaceGroup: {break;}
39                                 case TypeLayerGroup: { break;}
40                         }
41                         if ( NULL != go )
42                         {
43                                 Vector2 dim = go->getDimension();
44                                 *width = dim.val1;
45                                 *height = dim.val2;
46                         } else {
47                                 *width = 0;
48                                 *height = 0;
49                         }
50                 }
51 };
52
53
54 #endif /* _GETDIMENSIONCOMMAND_H_ */