~siretart/ubuntu/utopic/blender/libav10

« back to all changes in this revision

Viewing changes to source/blender/editors/gpencil/gpencil_edit.c

  • Committer: Package Import Robot
  • Author(s): Matthias Klose
  • Date: 2014-02-19 11:24:23 UTC
  • mfrom: (14.2.23 sid)
  • Revision ID: package-import@ubuntu.com-20140219112423-rkmaz2m7ha06d4tk
Tags: 2.69-3ubuntu1
* Merge with Debian; remaining changes:
  - Configure without OpenImageIO on armhf, as it is not available on
    Ubuntu.

Show diffs side-by-side

added added

removed removed

Lines of Context:
106
106
                                
107
107
                                /* TODO: we can include other data-types such as bones later if need be... */
108
108
 
109
 
                                /* just in case no active object */
110
 
                                if (ob) {
 
109
                                /* just in case no active/selected object */
 
110
                                if (ob && (ob->flag & SELECT)) {
111
111
                                        /* for now, as long as there's an object, default to using that in 3D-View */
112
112
                                        if (ptr) RNA_id_pointer_create(&ob->id, ptr);
113
113
                                        return &ob->gpd;
114
114
                                }
 
115
                                break;
115
116
                        }
116
 
                        break;
117
 
                        
118
117
                        case SPACE_NODE: /* Nodes Editor */
119
118
                        {
120
119
                                SpaceNode *snode = (SpaceNode *)CTX_wm_space_data(C);
125
124
                                        if (ptr) RNA_id_pointer_create(&snode->nodetree->id, ptr);
126
125
                                        return &snode->nodetree->gpd;
127
126
                                }
128
 
                                else {
129
 
                                        /* even when there is no node-tree, don't allow this to flow to scene */
130
 
                                        return NULL;
131
 
                                }
 
127
 
 
128
                                /* even when there is no node-tree, don't allow this to flow to scene */
 
129
                                return NULL;
132
130
                        }
133
 
                        break;
134
 
                                
135
131
                        case SPACE_SEQ: /* Sequencer */
136
132
                        {
137
133
                                SpaceSeq *sseq = (SpaceSeq *)CTX_wm_space_data(C);
141
137
                                if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceSequenceEditor, sseq, ptr);
142
138
                                return &sseq->gpd;
143
139
                        }
144
 
                        break;
145
 
                        
146
140
                        case SPACE_IMAGE: /* Image/UV Editor */
147
141
                        {
148
142
                                SpaceImage *sima = (SpaceImage *)CTX_wm_space_data(C);
152
146
                                if (ptr) RNA_pointer_create(screen_id, &RNA_SpaceImageEditor, sima, ptr);
153
147
                                return &sima->gpd;
154
148
                        }
155
 
                        break;
156
 
                                
157
149
                        case SPACE_CLIP: /* Nodes Editor */
158
150
                        {
159
151
                                SpaceClip *sc = (SpaceClip *)CTX_wm_space_data(C);
178
170
                                                return &clip->gpd;
179
171
                                        }
180
172
                                }
 
173
                                break;
181
174
                        }
182
 
                        break;
183
 
                                
184
175
                        default: /* unsupported space */
185
176
                                return NULL;
186
177
                }
201
192
/* needed for offscreen rendering */
202
193
bGPdata *gpencil_data_get_active_v3d(Scene *scene)
203
194
{
204
 
        bGPdata *gpd = scene->basact ? scene->basact->object->gpd : NULL;
 
195
        Base *base = scene->basact;
 
196
        bGPdata *gpd = NULL;
 
197
        /* We have to make sure active object is actually visible and selected, else we must use default scene gpd,
 
198
         * to be consistent with gpencil_data_get_active's behavior.
 
199
         */
 
200
        if (base && (scene->lay & base->lay) && (base->object->flag & SELECT)) {
 
201
                gpd = base->object->gpd;
 
202
        }
205
203
        return gpd ? gpd : scene->gpd;
206
204
}
207
205